@adia-ai/a2ui 0.8.37

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 (53) hide show
  1. package/CHANGELOG.md +1073 -0
  2. package/README.md +99 -0
  3. package/a2ui.schema.d.ts +192 -0
  4. package/controllers/accordion.js +73 -0
  5. package/controllers/base.js +68 -0
  6. package/controllers/data-stream.js +281 -0
  7. package/controllers/form.js +81 -0
  8. package/controllers/index.js +6 -0
  9. package/controllers/selection.js +82 -0
  10. package/controllers/state-machine.js +135 -0
  11. package/controllers/toggle.js +40 -0
  12. package/dockables/action.d.ts +55 -0
  13. package/dockables/action.js +152 -0
  14. package/dockables/base.d.ts +26 -0
  15. package/dockables/base.js +30 -0
  16. package/dockables/controller.d.ts +35 -0
  17. package/dockables/controller.js +97 -0
  18. package/dockables/data-source.d.ts +35 -0
  19. package/dockables/data-source.js +103 -0
  20. package/dockables/index.d.ts +21 -0
  21. package/dockables/index.js +6 -0
  22. package/dockables/lifecycle.d.ts +38 -0
  23. package/dockables/lifecycle.js +84 -0
  24. package/dockables/provider.d.ts +28 -0
  25. package/dockables/provider.js +59 -0
  26. package/index.d.ts +64 -0
  27. package/index.js +54 -0
  28. package/package.json +89 -0
  29. package/prop-apply.d.ts +13 -0
  30. package/prop-apply.js +113 -0
  31. package/registry.d.ts +17 -0
  32. package/registry.js +418 -0
  33. package/renderer.d.ts +67 -0
  34. package/renderer.js +715 -0
  35. package/stream.d.ts +62 -0
  36. package/stream.js +521 -0
  37. package/surface-manifest.d.ts +73 -0
  38. package/surface-manifest.js +294 -0
  39. package/surface.d.ts +72 -0
  40. package/surface.js +222 -0
  41. package/types.d.ts +26 -0
  42. package/validate/CHANGELOG.md +1005 -0
  43. package/validate/README.md +146 -0
  44. package/validate/index.d.ts +4 -0
  45. package/validate/index.js +12 -0
  46. package/validate/validator.d.ts +4 -0
  47. package/validate/validator.js +1232 -0
  48. package/wire-factory.d.ts +15 -0
  49. package/wire-factory.js +134 -0
  50. package/wiring-engine.d.ts +61 -0
  51. package/wiring-engine.js +209 -0
  52. package/wiring-registry.d.ts +80 -0
  53. package/wiring-registry.js +342 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,1073 @@
1
+ # Changelog — @adia-ai/a2ui
2
+
3
+ > Formerly `@adia-ai/a2ui-runtime`; renamed at ADR-0048 P3. Entries below
4
+ > 0.8.37 (the estate-split cut) were released under the old name and are kept
5
+ > verbatim.
6
+
7
+ ## [0.8.37] — 2026-08-14
8
+
9
+ ### Maintenance
10
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.37 work shipped in ADR-0048 estate split: @adia-ai/{a2ui,gen-ui,mcp} first publish; six a2ui-* names ship as shims and retire. See `packages/mcp/CHANGELOG.md#0837--2026-08-14` for details.
11
+ - **`compose/` touched in this release window** (62 file(s), e.g. `compose/CHANGELOG.md`) — carried by the entries above.
12
+ - **`controllers/` touched in this release window** (8 file(s), e.g. `controllers/accordion.js`) — carried by the entries above.
13
+ - **`corpus/` touched in this release window** (552 file(s), e.g. `corpus/CHANGELOG.md`) — carried by the entries above.
14
+ - **`dockables/` touched in this release window** (14 file(s), e.g. `dockables/action.d.ts`) — carried by the entries above.
15
+ - **`retrieval/` touched in this release window** (61 file(s), e.g. `retrieval/CHANGELOG.md`) — carried by the entries above.
16
+ - **`runtime/` touched in this release window** (1 file(s), e.g. `runtime/tsconfig.json`) — carried by the entries above.
17
+ - **`validate/` touched in this release window** (7 file(s), e.g. `validate/CHANGELOG.md`) — carried by the entries above.
18
+ - **`validator/` touched in this release window** (14 file(s), e.g. `validator/catalog-browser-load.test.js`) — carried by the entries above.
19
+
20
+ ## [0.8.36] — 2026-08-13
21
+
22
+ ### Maintenance
23
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.36 work shipped in a2ui chain standalone-installable (gh#1186: unpublishable dep removed, 143 packed-import escapes fixed, packed-imports gate + boot probe) + ui-architect coordinator agent + MCP doc consolidation. See `packages/gen-ui-mcp/CHANGELOG.md#0836--2026-08-13` for details.
24
+
25
+ ## [0.8.35] — 2026-08-13
26
+
27
+ ### Maintenance
28
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.35 work shipped in factory-DX program (scaffold boot+CSS fixes, class-B npm marketplace, consumer CI recipe, DX sweep) + audit-wave plugin hardening + ~20 component/pattern fixes. See `packages/plugins/adia-ui-factory/CHANGELOG.md#0835--2026-08-13` for details.
29
+
30
+ ## [0.8.34] — 2026-08-11
31
+
32
+ ### Maintenance
33
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.34 work shipped in date-range-picker unified selection, core boolean-reflect fix, nav state-color spec, component polish + docs repair wave. See `packages/web-components/CHANGELOG.md#0834--2026-08-11` for details.
34
+
35
+ ## [0.8.33] — 2026-08-11
36
+
37
+ ### Added
38
+
39
+ - **22 registry entries closing the last unmapped-tag class (gh#848, follow-up to gh#847/gh#645).** 24 site pages contained component tags with no `registry.js` entry, so `reverseRegistry` could not resolve them and the docs transpiler's Unknown fallback converted each to an EMPTY `Column` — those page sections rendered blank. Dispositioned one at a time, never guessed: **18 shipping web-module composites** (`AdminEntityItem`, `AdminRoster`, `AdminSettings`, `AgentAdmin`, `AppShell`→`embed-shell`, `BillingOverview`, `ConfirmDialog`, `DashboardLayout`, `DateRangeSelector`, `FormPopover`, `IntegrationsPage`, `InvoiceDetail`, `InvoiceHistory`, `NotificationPreferences`, `OnboardingChecklist`, `PaymentMethodForm`, `PaymentMethodList`, `PlanPicker`) that ship a full `<c>.yaml` + `.a2ui.json` + `customElements.define` and simply never got an entry — each type name and tag read off the component's own yaml SoT, gh#645's rule (`embed-shell` and `admin-entity-item` both break the naive kebab+`-ui` pattern, and `embed-shell` declares `component: AppShell`). **2 bare-tag aliases** (`chat-thread-ui`, `section-ui`) for components whose PascalCase name is already claimed by a DIFFERENT element: `ChatThread` routes to the chat web-module since §49, and `Section` must keep resolving to native `section` because `card.css` scopes `& > section` and carries no `section-ui` rule at all — retargeting it would silently unstyle every converted card body. Both use the established `['row-ui','row-ui']` shape, which `derive-genui-catalog.mjs` skips as a canonical-name candidate, so the derived catalog is byte-identical. **2 native description-list children** (`DescriptionTerm`→`dt`, `DescriptionDetail`→`dd`), registered like the existing `Section`/`Header`/`Footer` card children, because `description-list.yaml`'s contract is "consumer passes `<dt>`/`<dd>` children inline".
40
+ - The `Section` / `Header` / `Footer` **double-booking is left as-is and recorded, not guessed**: the derived catalog keys those types off `section-ui`/`header-ui`/`footer-ui` sidecars while `resolveTag` returns the native tag, and `check-genui-catalog`'s gh#645 assertion passes because it asks "does it resolve", not "does it resolve to *this sidecar's* tag". Tightening that to tag identity is a separate change — tracked in gh#848.
41
+
42
+ ## [0.8.32] — 2026-08-09
43
+
44
+ ### Maintenance
45
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.32 work shipped in component fixes (nav selected states, avatar centering, stat Phosphor arrows, tag solid default, card-table chrome, breadcrumb ellipsis, input min-width) + a2ui eval overhaul (render probe navigates, refine passthrough, Tier-1 plans). See `packages/web-components/CHANGELOG.md#0832--2026-08-09` for details.
46
+
47
+ ## [0.8.31] — 2026-08-07
48
+
49
+ ### Fixed
50
+ - **`applyResolvedProp`'s boolean branch now writes `toAttr(key)`, not the raw camelCase key (gh#693 follow-up).** Every boolean prop that had gone through this path before (`disabled`, `checked`, …) is a single lowercase word, so `toAttr` was the identity and the bug was invisible. `allowEmpty` (segmented-ui's gh#693 empty-state opt-out) was the first camelCase boolean prop through this path: the raw-key branch wrote `allowempty=""`, which segmented-ui never observes (it watches `allow-empty`) — the property never flipped, so the fix never actually reached the working-differential surface. Caught in review before merge with a probe through `applyResolvedProp` against a real `segmented-ui`; that probe is now a permanent regression test in `prop-apply.test.js`.
51
+
52
+ ### Added
53
+ - **Per-child slot addressing on the dialect wire** (gh#653). `A2UIComponent` now declares an optional `slot` string: it names WHICH region of the PARENT a child occupies (`Button slot:"trigger"` under a Popover, `Text slot:"description"` under a ListItem). Legal names are the parent type's own `x-adiaui.slots` anatomy. Purely additive — the key was already accepted via `additionalProperties: true`, and `A2UIRenderer` already forwarded it to the light-DOM `slot=` attribute; declaring it makes the wire contract explicit. Positioning stays CSS by tag + ancestor + DOM order, and children without a `slot` keep pure document order. Covered by `slot-addressing.test.js` (Popover trigger/content, ListItem text/description, re-addressing on a later frame).
54
+
55
+ ## [0.8.30] — 2026-08-07
56
+
57
+ ### Maintenance
58
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.30 work shipped in agent-harness v1 wave: MCP-client mode, guardrails/tracing/memory hardening, auto engine, chat agent-event rendering, human feedback loop. See `packages/agent/CHANGELOG.md#0830--2026-08-07` for details.
59
+
60
+ ## [0.8.29] — 2026-08-06
61
+
62
+ ### Fixed
63
+ - **Registry maps all 50 previously-unmapped catalog types** (InlineMessage, InlineEdit, NumberFormat, RelativeTime, Fields, Tree, Spinner, …) — the derived catalog and the hand-maintained registry had drifted apart, so catalog-valid wire messages rendered literal `[unknown: X]` placeholders. A new resolveTag gate in `check-genui-catalog` makes the drift class impossible (gh#645, PR #649).
64
+
65
+ ## [0.8.28] — 2026-08-05
66
+
67
+ ### Maintenance
68
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.28 work shipped in sideEffects tree-shaking fix + CSS barrel regen (gh#625/632). See `0828--2026-08-05` for details.
69
+
70
+ ## [0.8.27] — 2026-08-05
71
+
72
+ ### Maintenance
73
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.27 work shipped in menu subtitle + roster migration, agent model pins, proper deflake, release tooling (gh#614/616/617/618). See `packages/web-modules/CHANGELOG.md#0827--2026-08-05` for details.
74
+
75
+ ## [0.8.26] — 2026-08-05
76
+
77
+ ### Changed
78
+ - **`prop-apply.js` extracted** from `A2UIRenderer` so the legacy renderer and the `@genui/adia-adapter` share ONE attribute-vs-property policy (GK-1, gh#581).
79
+ - **`a2ui.schema.json` is now a generated artifact** — emitted from `dialect-schema.source.mjs` (the kind-list SoT the wire-bridge translator also reads) via `scripts/build/generate-dialect-schema.mjs`, freshness-gated by `check:dialect-schema` (GK-5, gh#585). Never hand-edit; regenerate.
80
+
81
+ ## [0.8.25] — 2026-07-31
82
+
83
+ ### Maintenance
84
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.25 work shipped in theme-panel scoped-target [parametric] density/radius fix (gh#570) + System scheme option; anchor-bar-ui; stat-ui band chart layout; chart-ui dots/series-emphasis. See `packages/web-components/CHANGELOG.md#0825--2026-07-31` for details.
85
+
86
+ ## [0.8.24] — 2026-07-30
87
+
88
+ ### Maintenance
89
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.24 work shipped in requiredIcons drift cleared across 16 components + checker comment handling (gh#550), worktree bootstrap workspace-link hardening + retrieval corpus-pin fix (gh#554), list-item two-line icon centering (gh#558), card footer bottom-pinning (gh#559). See `packages/web-components/CHANGELOG.md#0824--2026-07-30` for details.
90
+
91
+ ## [0.8.23] — 2026-07-30
92
+
93
+ ### Maintenance
94
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.23 work shipped in operator-report day: 20+ fixes, BREAKING --a-font removal, deployed-site freeze fix, plugin rename to adia-ui-kit-*. See `packages/web-components/CHANGELOG.md#0823--2026-07-30` for details.
95
+
96
+ ## [0.8.22] — 2026-07-29
97
+
98
+ ### Maintenance
99
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.22 work shipped in select-ui aria-selected action-row fix, combobox radio indicator, form-popover summary hardening, resumable release Step 10. See `packages/web-components/CHANGELOG.md#0822--2026-07-29` for details.
100
+
101
+ ## [0.8.21] — 2026-07-28
102
+
103
+ ### Maintenance
104
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.21 work shipped in card/table/select/form-popover fixes from adia-v2 adoption + three drift gates (gh#473, gh#425, gh#435). See `packages/web-components/CHANGELOG.md#0821--2026-07-28` for details.
105
+
106
+ ## [0.8.20] — 2026-07-28
107
+
108
+ ### Fixed
109
+ - **The npm tarball no longer ships `*.test.js`** (gh#462) — the `files` roster excluded examples/html but never unit tests, so 1 test file(s) rode the 0.8.19 tarball. `!**/*.test.js` appended as the roster's LAST entry (npm's files globbing is order-sensitive — a leading exclude is overridden by later directory includes). Proof: `npm pack --dry-run` → 0 test files, runtime files intact.
110
+
111
+ ## [0.8.19] — 2026-07-27
112
+
113
+ ### Maintenance
114
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.19 work shipped in form/ cluster publishes (form-popover-ui installable, gh#448) + select-ui summary-label (gh#442) + row-hover container-ladder token fix. See `packages/web-modules/CHANGELOG.md#0819--2026-07-27` for details.
115
+
116
+ ## [0.8.18] — 2026-07-27
117
+
118
+ ### Maintenance
119
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.18 work shipped in form-popover-ui rename + 9-test surface + first passing rendered-dom probe (harness repaired for all composites). See `packages/web-modules/CHANGELOG.md#0818--2026-07-27` for details.
120
+
121
+ ## [0.8.17] — 2026-07-27
122
+
123
+ ### Maintenance
124
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.17 work shipped in one selection language (radios + tonal + container tier) · form-popover module · check:demo-routes sweep. See `packages/web-components/CHANGELOG.md#0817--2026-07-27` for details.
125
+
126
+ ## [0.8.16] — 2026-07-26
127
+
128
+ ### Maintenance
129
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.16 work shipped in text-on-fill AA (90/90 pairs) + release-gate roster 18→22 + the theming guide. See `packages/web-components/CHANGELOG.md#0816--2026-07-26` for details.
130
+
131
+ ## [0.8.15] — 2026-07-26
132
+
133
+ ### Maintenance
134
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.15 work shipped in hover darkens in both schemes (600/550 role + filled-button wiring); find-unused adoption skill + measured routing evals. See `packages/web-components/CHANGELOG.md#0815--2026-07-26` for details.
135
+
136
+ ## [0.8.14] — 2026-07-25
137
+
138
+ ### Maintenance
139
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.14 work shipped in overlay surface plane + nav-item selected fill + theme neutral hues + examples.md drift gate. See `packages/web-components/CHANGELOG.md#0814--2026-07-25` for details.
140
+
141
+ ## [0.8.13] — 2026-07-25
142
+
143
+ ### Maintenance
144
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.13 work shipped in 12 named theme identities + select-menu Theme row in theme-panel; fixes scale.css wiring, Preset/Reset UX, and a Theme-select XSS finding. See `packages/web-modules/CHANGELOG.md#0813--2026-07-25` for details.
145
+
146
+ ## [0.8.12] — 2026-07-24
147
+
148
+ ### Maintenance
149
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.12 work shipped in tag-ui size parity (badge-ui sm/md/lg); plugin skills learn v0.8.11 size model; primitive count fix. See `packages/web-components/CHANGELOG.md#0812--2026-07-24` for details.
150
+
151
+ ## [0.8.11] — 2026-07-23
152
+
153
+ ### Maintenance
154
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.11 work shipped in sm/md/lg size model + ancestor [scale] context; adia-wordmark-ui; forge release-cycle hardening. See `packages/web-components/CHANGELOG.md#0811--2026-07-23` for details.
155
+
156
+ ## [0.8.10] — 2026-07-20
157
+
158
+ ### Maintenance
159
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.10 work shipped in tag-ui accent variant, dialog-scrim/card-ui fixes; adia-charts/adia-tables skills. See `packages/web-components/CHANGELOG.md#0810--2026-07-20` for details.
160
+
161
+ ## [0.8.9] — 2026-07-19
162
+
163
+ ### Maintenance
164
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.9 work shipped in select-ui mark visual (gh#339); release-tooling hardened (branch creation, settle-wait poll, pr-bridge draft guard). See `packages/web-components/CHANGELOG.md#unreleased` for details.
165
+
166
+ ## [0.8.8] — 2026-07-19
167
+
168
+ ### Maintenance
169
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.8 work shipped in Type scale tightened one step (body 14px / ui 13px base); release machinery hardened (pr-bridge, mechanized pins, single-sourced roster). See `packages/web-components/CHANGELOG.md#088--2026-07-19` for details.
170
+
171
+ ## [0.8.7] — 2026-07-19
172
+
173
+ ### Maintenance
174
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.7 work shipped in factory enrichment (adia-patterns/adia-audit + harvests), forge dogfood/gate fixes, a2ui-corpus content-hash freshness, bundle rebuilds. See `packages/plugins/adia-ui-factory/CHANGELOG.md#087--2026-07-19` for details.
175
+
176
+ ## [0.8.6] — 2026-07-18
177
+
178
+ ### Maintenance
179
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.6 work shipped in SSR attribute-replay fix + table declarative data + token repoints (@adia-ai/web-components), gh#268 forge modernization campaign (adia-forge). See `packages/web-components/CHANGELOG.md#086--2026-07-18` for details.
180
+
181
+ ## [0.8.5] — 2026-07-17
182
+
183
+ ### Fixed
184
+ - **`kbd-ui` renders empty via A2UI (TKT-0025)**: `renderer.js`'s `#TEXT_TAG_OK` allowlist was missing `kbd-ui` — a pure text-bearing leaf with no `text=` attribute/prop to fall back to — so the fallback's `setAttribute('text', …)` was silently inert and content never applied. Runtime-only fix; the transpiled sidecar `textContent` was always correct. Verified: `components.mjs --verify` clean, `test:a2ui` 22/22, live Playwright probe — 24/24 `kbd-ui` elements render visible glyphs.
185
+
186
+ ## [0.8.4] — 2026-07-16
187
+
188
+ ### Maintenance
189
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.4 work shipped in gen-UI provider routing by model id + gemini fixes (@adia-ai/llm), focus-ring/caret rulings + the button-ui purge (@adia-ai/web-components), chat-shell html messages (@adia-ai/web-modules). See `packages/llm/CHANGELOG.md#084--2026-07-16` for details.
190
+
191
+ ## [0.8.3] — 2026-07-16
192
+
193
+ ### Maintenance
194
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.3 work shipped in the two Claude Code plugins — the adia-tokens knowledge pack + command refresh (adia-ui-factory) and the release-tooling invariant-3 reconciliation (adia-ui-forge); see `packages/plugins/adia-ui-factory/CHANGELOG.md#083--2026-07-16`.
195
+ ## [0.8.2] — 2026-07-16
196
+
197
+ ### Maintenance
198
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.2 work — the `button-ui` ellipsis fix + tarball-shipped MIGRATION.md (@adia-ai/web-components) and the factory-plugin modernization campaign (adia-ui-factory; gh#259) — see `packages/web-components/CHANGELOG.md#082--2026-07-16`.
199
+ ## [0.8.1] — 2026-07-15
200
+
201
+ ### Maintenance
202
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.1 work — the `tags-input-ui` chip slot template (TKT-0023) + the `--a-link` AA contrast fix — shipped in @adia-ai/web-components; see `packages/web-components/CHANGELOG.md#081--2026-07-15`.
203
+ ## [0.8.0] — 2026-07-15
204
+
205
+ ### Maintenance
206
+ - **Lockstep version bump; test-only source delta** (`css-channel.test.js` token-name sweep). Substantive v0.8.0 work — the Material color-token adoption — shipped in @adia-ai/web-components + @adia-ai/web-modules; see `packages/web-components/CHANGELOG.md#080--2026-07-15` and `.claude/docs/MIGRATION GUIDE.md` § v0.8.0.
207
+ ## [0.7.28] — 2026-07-14
208
+
209
+ ### Maintenance
210
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.28 work shipped in Chunk-zettel emits real component graphs (TKT-0009) + corpus admission-validation classes 1/3 fixed (TKT-0010) — see @adia-ai/a2ui-compose, @adia-ai/a2ui-corpus, @adia-ai/web-components CHANGELOGs. See `packages/a2ui/compose/CHANGELOG.md#0728--2026-07-14` for details.
211
+
212
+ ## [0.7.27] — 2026-07-12
213
+
214
+ ### Fixed
215
+ - **Renderer stamps `el.id = comp.id` at all three element-creation sites.** Elements previously carried only `data-a2ui-id`, so authored `[id]`s never reached the live DOM — breaking every setup module that `getElementById`s its targets (the docs migration's dynamic tier surfaced this: pointer-tracking demos, trait wiring). The `id` is set outside the prop-diffing path, so later prop updates can never strip it.
216
+ - **`a2ui.schema.json` — added `updateStyles` / `removeStyles` message schemas.** The renderer has handled the CSS channel since its introduction; the schema (and the generated `.d.ts`) now describe it, so schema validation no longer rejects documents that use it.
217
+
218
+ ## [0.7.26] — 2026-07-04
219
+
220
+ ### Maintenance
221
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.26 work shipped in variant="outline" retired as the reach-for-secondary generation-time habit. See `packages/a2ui/compose/CHANGELOG.md#unreleased` for details.
222
+
223
+ ## [0.7.25] — 2026-07-03
224
+
225
+ ### Maintenance
226
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.25 work shipped in accordion-ui variant="flat|contained" posture + 2 footnote fixes + keyboard a11y. See `packages/web-components/CHANGELOG.md#0725--2026-07-03` for details.
227
+
228
+ ## [0.7.24] — 2026-07-01
229
+
230
+ ### Maintenance
231
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.24 work shipped in @adia-ai/web-components upstream consumer findings F1/F2/F4/F5/F6 — icon-ui fail-loud registry wiring, @phosphor-icons/core direct dep, custom-elements.json de-fabrication, new display-field-ui primitive, table-ui rowExpandable per-row gate. See `packages/web-components/CHANGELOG.md#0724--2026-07-01` for details.
232
+
233
+ ## [0.7.23] — 2026-06-30
234
+
235
+ ### Maintenance
236
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.23 work shipped in @adia-ai/web-components button-ui child-text label parity + accordion-ui block-flow gap. See `packages/web-components/CHANGELOG.md#0723--2026-06-30` for details.
237
+
238
+ ## [0.7.22] — 2026-06-16
239
+
240
+ ### Maintenance
241
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.22 work shipped in the @adia-ai/web-components + @adia-ai/web-modules surface-token alignment (symmetric canvas ramp). See `packages/web-components/CHANGELOG.md#0722--2026-06-16` for details.
242
+
243
+ ## [0.7.21] — 2026-06-10
244
+
245
+ ### Maintenance
246
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.21 work shipped in corpus harvester scope expansion (gated web-components examples root) + 26 curated chunks (368->394). See `packages/a2ui/corpus/CHANGELOG.md#0721--2026-06-10` for details.
247
+
248
+ ## [0.7.20] — 2026-06-10
249
+
250
+ ### Maintenance
251
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.20 work shipped in gen-UI form-quality arc (anti-pattern rules + field-ui hardening + validation fold-in) + static-site corpus retrieval (tri-mode loaders) + corpus 308->356. See `packages/web-components/CHANGELOG.md#0720--2026-06-10` for details.
252
+
253
+ ## [0.7.19] — 2026-06-10
254
+
255
+ ### Maintenance
256
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.19 work shipped in icon-ui standalone-import paint fix + late-connect retry (web-components); full 308-chunk embedding vectors (a2ui-corpus). See `packages/web-components/CHANGELOG.md#0719--2026-06-10` for details.
257
+
258
+ ## [0.7.18] — 2026-06-09
259
+
260
+ ### Maintenance
261
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.18 work shipped in combobox menu-overflow fix + max-visible-items + the dropdown-family caret OPEN state + the theme-provider CDN bundle (web-components); corpus regrowth batch 1, +24 chunks (a2ui-corpus). See `packages/web-components/CHANGELOG.md#0718--2026-06-09` for details.
262
+
263
+ ## [0.7.17] — 2026-06-08
264
+
265
+ ### Maintenance
266
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.17 work shipped in badge-ui/tag-ui icon-spacing fix — icon-bearing chips no longer inflate row height + tighter [icon]-gated spacing. See `packages/web-components/CHANGELOG.md#0717--2026-06-08` for details.
267
+
268
+ ## [0.7.16] — 2026-06-08
269
+
270
+ ### Maintenance
271
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.16 work shipped in the dist CSS + JS bundle refresh. See `packages/web-components/CHANGELOG.md (0.7.16)` for details.
272
+
273
+ ## [0.7.15] — 2026-06-08
274
+
275
+ ### Maintenance
276
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.15 work shipped in the menu-label-ui new component + badge/tag padding. See `packages/web-components/CHANGELOG.md (0.7.15)` for details.
277
+
278
+ ## [0.7.14] — 2026-06-08
279
+
280
+ ### Maintenance
281
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.14 work shipped in input-ui/textarea-ui .value upgrade-safety fix. See `packages/web-components/CHANGELOG.md (0.7.14)` for details.
282
+
283
+ ## [0.7.13] — 2026-06-06
284
+
285
+ ### Maintenance
286
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.13 work: the `./css/sheet` exports `types` fix (`@adia-ai/web-components` + `@adia-ai/web-modules`) + a corpus re-harvest (`@adia-ai/a2ui-corpus`). See `packages/web-components/CHANGELOG.md` for details.
287
+
288
+ ## [0.7.12] — 2026-06-04
289
+
290
+ ### Maintenance
291
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.12 work: the BREAKING `data-theme`→`theme` token-attribute rename + the new `<theme-provider>` element + CDN `.sheet.js` twins (`@adia-ai/web-components`), and a corpus re-harvest. See `packages/web-components/CHANGELOG.md` for details.
292
+
293
+ ## [0.7.11] — 2026-06-04
294
+
295
+ ### Maintenance
296
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.11 work: the `<frame-ui>` slot-override regions + `button-ui` hover `-strong` step + `resizable` trait corner handles + `list-item-ui` / `<preview-ui>` fixes (`@adia-ai/web-components`), `<embed-shell>` extending `UIElement` to compose the `resizable` trait (`@adia-ai/web-modules`), and a corpus re-harvest. See `packages/web-components/CHANGELOG.md` for details.
297
+
298
+ ## [0.7.10] — 2026-06-03
299
+
300
+ ### Maintenance
301
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.10 work: the `<frame-ui>` layout primitive + `list-item-ui` grid fix + `[verse]` type-tier bump (`@adia-ai/web-components`), the new `<embed-shell>` (`@adia-ai/web-modules`), and a corpus re-harvest. See `packages/web-components/CHANGELOG.md` for details.
302
+
303
+ ## [0.7.9] — 2026-06-03
304
+
305
+ ### Maintenance
306
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.9 work shipped in Lockstep release — no package-specific source changes this cut; substantive v0.7.9 work in `@adia-ai/web-components` (verse control/chrome tier bump + semantic color cusp-lift) + root tooling (PLAN-claim trip-wire, slot-vocab + foundation-layer gate fixes).. See `packages/web-components/CHANGELOG.md#079--2026-06-03` for details.
307
+
308
+ ## [0.7.8] — 2026-06-02
309
+
310
+ ### Maintenance
311
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.8 work shipped in Lockstep release — no package-specific source changes this cut; substantive v0.7.8 work in `@adia-ai/web-components` (wrapper-trap arm-2 drain: 14 consumer-slot reads pierced via the new `core/logical-children.js` helper).. See `packages/web-components/CHANGELOG.md#078--2026-06-02` for details.
312
+
313
+ ## [0.7.7] — 2026-06-02
314
+
315
+ ### Maintenance
316
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.7 work shipped in Lockstep release — no package-specific source changes this cut; substantive v0.7.7 work in `@adia-ai/web-components` (drawer/verse register-aware insets + agent-artifact wrapper-pierce).. See `packages/web-components/CHANGELOG.md#077--2026-06-02` for details.
317
+
318
+ ## [0.7.6] — 2026-06-02
319
+
320
+ ### Maintenance
321
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.6 work shipped in Lockstep release — no package-specific source changes this cut; substantive v0.7.6 work in `@adia-ai/web-components` (block-ui, parametric [padding]/[margin] scale, host.css barrel split, FB-97/98 + command wrapper-trap fixes).. See `packages/web-components/CHANGELOG.md#076--2026-06-02` for details.
322
+
323
+ ## [0.7.5] — 2026-06-02
324
+
325
+ ### Maintenance
326
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.5 work shipped in Lockstep release — no package-specific source changes this cut; the substantive v0.7.5 fix is in `@adia-ai/web-components` (button-ui colored-variant: readable solid text + outline composes + excluded from the `[color]` text utility).. See `packages/web-components/CHANGELOG.md#075--2026-06-02` for details.
327
+
328
+ ## [0.7.4] — 2026-06-02
329
+
330
+ ### Maintenance
331
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.4 work shipped in Lockstep release — no package-specific source changes this cut; substantive work in `@adia-ai/web-components` + `@adia-ai/web-modules` (verse register, OD-5 `-default` revert, grid align/justify, font-family floor).. See `packages/web-components/CHANGELOG.md#074--2026-06-02` for details.
332
+
333
+ ## [0.7.3] — 2026-06-01
334
+
335
+ ### Maintenance
336
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.3 work shipped in @adia-ai/web-components parametric named gap scale (xs–xl) + explicit/ambient [gap] split (no leak) + FB-96 tree slot-adopt. See `packages/web-components/CHANGELOG.md#073--2026-06-01` for details.
337
+
338
+ ## [0.7.2] — 2026-06-01
339
+
340
+ ### Maintenance
341
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.2 work shipped in @adia-ai/web-components template-engine ARIA-transparent wrapper spans (FB-94) + menu-item orphan fix (FB-95) + tokens cascade-layer; @adia-ai/web-modules admin-page-footer sticky band (bug-54). See `packages/web-components/CHANGELOG.md#072--2026-06-01` for details.
342
+
343
+ ## [0.7.1] — 2026-05-31
344
+
345
+ ### Maintenance
346
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.1 work shipped in @adia-ai/web-components a11y/reactivity fixes — input-ui affordance centering (bug-60), tree-ui role=group WAI-ARIA (FB-91), menu-ui dynamic items (FB-92), input-ui reactive prefix/suffix (FB-93). See `packages/web-components/CHANGELOG.md#071--2026-05-31` for details.
347
+
348
+ ## [0.7.0] — 2026-05-31
349
+
350
+ ### Maintenance
351
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.0 work shipped in MINOR: @adia-ai/web-components BREAKING removals (avatar-ui [name] alias, chart-ui [aspect]/[heading]) + docs-QA pass (bug-21, bug-50..55) + new features (stat [bleed], page regions, kbd lg); @adia-ai/web-modules dialog/plan-picker/onboarding/integrations fixes. See `packages/web-components/CHANGELOG.md#070--2026-05-31` for details.
352
+
353
+ ## [0.6.50] — 2026-05-30
354
+
355
+ ### Maintenance
356
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.50 work shipped in @adia-ai/web-components slot="caret" disclosure convention + tree-item-ui adopt-or-stamp (FEEDBACK-89, ADR-0036); @adia-ai/a2ui-corpus catalog regen for the renamed slot vocabulary. See `packages/web-components/CHANGELOG.md#0650--2026-05-30` for details.
357
+
358
+ ## [0.6.49] — 2026-05-30
359
+
360
+ ### Maintenance
361
+
362
+ - **Lockstep version bump only.** Substantive v0.6.49 in `@adia-ai/web-components` (date-range-picker two-month fix + calendar `month` prop + card-ui demo slot sweep) and `@adia-ai/a2ui-corpus` (corpus + catalog regen). See those packages CHANGELOGs.
363
+
364
+ ## [0.6.48] — 2026-05-29
365
+
366
+ ### Maintenance
367
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.48 work shipped in foundation-styles dimension×layer reorg (ADR-0035) + library-wide demo consolidation + date-range-picker popover fix + corpus re-harvest. See `packages/web-components/CHANGELOG.md#0648--2026-05-29` for details.
368
+
369
+ ## [0.6.47] — 2026-05-29
370
+
371
+ ### Maintenance
372
+
373
+ - **Lockstep version bump only.** Substantive v0.6.47 in `@adia-ai/web-components` (`<card-ui>` `[grow]` section attribute) and `@adia-ai/a2ui-corpus` (chunk re-harvest). See those packages CHANGELOGs.
374
+
375
+ ## [0.6.46] — 2026-05-29
376
+
377
+ ### Maintenance
378
+
379
+ - **Lockstep version bump only.** Substantive v0.6.46 in `@adia-ai/web-components` (56 trait pages + slot docs + bleed/token fixes) and `@adia-ai/a2ui-corpus` (chunk re-harvest). See those packages CHANGELOGs.
380
+
381
+ ## [0.6.45] — 2026-05-29
382
+
383
+ ### Maintenance
384
+
385
+ - **Lockstep version bump only.** Substantive v0.6.45 in `@adia-ai/web-components` (FB-85 canvas-ui bare-specifier + FB-88 select-ui accessible name). See its CHANGELOG.
386
+
387
+ ## [0.6.44] — 2026-05-28
388
+
389
+ ### Maintenance
390
+
391
+ - **Lockstep version bump only.** Substantive v0.6.44 in `@adia-ai/web-components` (FB-81 canvas-ui decouple), `@adia-ai/a2ui-compose` (FB-79 select-options transpiler), `@adia-ai/a2ui-corpus` (FB-79/80 re-harvest + embeddings regen). See those packages' CHANGELOGs.
392
+
393
+ ## [0.6.43] — 2026-05-27
394
+
395
+ ### Maintenance
396
+
397
+ - **Lockstep version bump only.** Substantive v0.6.43 in `@adia-ai/web-components` (`<list-ui contained>` yaml + button/card/alert RL+RL2 substrate fixes), `@adia-ai/a2ui-compose` (transpiler RL+RL2 sweeps), `@adia-ai/a2ui-corpus` (chunk re-harvest absorbing the substrate fixes). See those packages' CHANGELOGs.
398
+
399
+ ## [0.6.42] — 2026-05-26
400
+
401
+ ### Changed — `registry.js` + `renderer.js` polish absorbing gen-review findings
402
+
403
+ - **`registry.js`** + **`renderer.js`** — adjustments absorbing gen-review cycle 8-17 findings. Companion to the corpus-side changes that grew the chunk count 240 → 284 (+44 new training chunks).
404
+
405
+ ## [0.6.41] — 2026-05-26
406
+
407
+ ### Maintenance
408
+
409
+ - **Lockstep version bump only — pure ride-along.** No source changes in any of the 9 packages this cycle. Substantive v0.6.41 work is REPO-LEVEL: adia-ui-release skill v1.8.0 → v1.9.0 (catalog-drift recurring graduation — §Step 5.5 pre-commit trip-wire + supersedes-WT contract + §Step 5 allowlist convention; closes FEEDBACK-75). Version bump preserves 9-package lockstep coherence; published tarballs identical to v0.6.40 modulo version metadata.
410
+
411
+ ## [0.6.40] — 2026-05-26
412
+
413
+ ### Maintenance
414
+
415
+ - **Lockstep version bump only.** Substantive v0.6.40 in `@adia-ai/web-components` (index.js barrel side-effect-imports `core/provider.js` — cold-start `<router-ui>` registration, FB-69-class fix) and `@adia-ai/web-modules` (`<admin-entity-item>` `<span slot="icon">` wrap — mirrors `<nav-item-ui>`).
416
+
417
+ ## [0.6.39] — 2026-05-26
418
+
419
+ ### Maintenance
420
+
421
+ - **Lockstep version bump only.** Substantive v0.6.39 in `@adia-ai/web-components` (<tour-ui> primitive — Wave 5e last P1, #259 + substrate slot-selector defensive sweep + admin-entity-item icon-size parity + list-item-ui slot=action declaration). `@adia-ai/web-modules` ships dist rebuild only.
422
+
423
+ ## [0.6.38] — 2026-05-26
424
+
425
+ ### Maintenance
426
+
427
+ - **Lockstep version bump only.** No source changes in this package. Substantive v0.6.38: `@adia-ai/web-components` (Wave 5e — mark-ui + inline-edit-ui + feed-ui deep-link demo + list-item-ui/segmented-ui/stat-ui/toolbar-ui fixes + slot-vocab-vs-css backlog closure), `@adia-ai/web-modules` (catalog/ui-patterns import-mapping + saas/billing cancellation save-offer + onboarding-checklist demo), `@adia-ai/a2ui-corpus` (240 chunks + catalog regen for Wave 5e cohort).
428
+
429
+ ## [0.6.37] — 2026-05-25
430
+
431
+ ### Maintenance
432
+
433
+ - **Lockstep version bump only.** No source changes in this package. Substantive v0.6.37: `@adia-ai/web-components` (Wave 1+2+3+4 cohort — blockquote, slider dual-thumb, password-strength, qr-code, toc, relative-time, number-format, anchor-link, number-stepper, pagination, toast-undo, blockquote, table demos column-resize/sticky-header/virtualized, alert-dialog destructive-confirm, context-menu, visually-hidden, skip-nav + FB-67/68/69/70/71 close + popover-ui/pagination/slider/qr-code fixes + --a-warning-bg redirect + 5 new audits) and `@adia-ai/web-modules` (Wave 3+4 pattern demos + brand-chrome canonicals + integration-card/segmented console-warn silence).
434
+
435
+ ## [0.6.36] — 2026-05-24
436
+
437
+ ### Maintenance
438
+
439
+ - **Lockstep version bump only.** No source changes in this package. Substantive v0.6.36: `@adia-ai/web-components` (tag-ui solid-default flip + [tone] prop + dismiss X variant inheritance + tag.warning amber fix + caret-at-content-start fix for input/textarea/combobox/tags-input + post-v0.6.35 QA sweep), `@adia-ai/web-modules` (Wave A+B+C+D demos via authoring v1.8.0 Mode 8 + payment-method-form recursion guard + payment-method-list card-ui rewrite + billing-overview/dashboard-layout fixes), `@adia-ai/a2ui-corpus` (catalog regen for tag-ui solid-default flip).
440
+
441
+ ## [0.6.35] — 2026-05-24
442
+
443
+ ### Maintenance
444
+
445
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain 9-package coherence. Substantive v0.6.35: `@adia-ai/web-components` (Waves A+B+C — 14 P1 component implementations + FB-57/61/62/63 substrate sweep + class.js → <slug>.class.js refactor + spinner/calendar-grid fixes), `@adia-ai/web-modules` (FB-55 admin-shell warn + delegation refactor + Wave A+B+C cluster work), `@adia-ai/llm` (server.js SIGINT/SIGTERM handlers — dev-only fix), `@adia-ai/a2ui-corpus` (catalog regen absorbing FB-61/62/63 yaml backfills).
446
+
447
+ ## [0.6.34] — 2026-05-23
448
+
449
+ ### Added — Phase 1 CSS channel: `updateStyles` + `removeStyles`
450
+
451
+ - **CSS channel — Phase 1** (commit `d664bee22`): runtime gains `updateStyles(id, patch)` + `removeStyles(id, keys)` APIs for parallel-channel CSS-token updates from a2ui messages. Lets agents send token-only updates (`{"--button-bg": "var(--a-accent-strong)"}`) without re-emitting the full component tree. Companion smoke + tests + visual eval fixture in evals/. Sibling spec example + visual eval fixture also updated in commits `f7f8430b2` and `ff62fe305`. Spec: `.claude/docs/specs/genui-css-channel.md`.
452
+
453
+ ## [0.6.33] — 2026-05-23
454
+
455
+ ### Fixed — card-ui body-slot drift closed across runtime + fixtures
456
+
457
+ - **`renderer.js`** — card-ui body-slot resolution now respects the canonical `<card-ui><section>…</section></card-ui>` shape across all render paths. Runtime previously produced inconsistent body-slot wrapping for some A2UI tree shapes, causing visual fixture drift in eval-076, eval-082, eval-090, eval-099 visual goldens. Fix: 70-line resolver change in `renderer.js` aligns runtime output with the documented card body-slot contract. Companion eval visual goldens regenerated (4 PNGs). Audit script `scripts/audit/audit-card-structure.mjs` extended with the new contract. Files: `packages/a2ui/runtime/renderer.js`.
458
+
459
+ ## [0.6.32] — 2026-05-23
460
+
461
+ ### Maintenance
462
+
463
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.32 work shipped in `@adia-ai/web-modules` (`everything.js` CDN entry + `admin-shell.helpers.css` scoping) and `@adia-ai/web-components` (FB-51 `everything.js` primitive bundle fix + status:stable yaml sweep). See those packages' CHANGELOGs for details.
464
+
465
+ ## [0.6.31] — 2026-05-23
466
+
467
+ ### Maintenance
468
+
469
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.31 work shipped in `@adia-ai/web-modules` (`admin-shell.examples` taming CSS + README canonical-hierarchy example) and `@adia-ai/web-components` (3 legacy `patterns/*` hubs rewritten). Docs-and-skills scrub — see those packages' CHANGELOGs for details.
470
+
471
+ ## [0.6.30] — 2026-05-23
472
+
473
+ ### Maintenance
474
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.30 work shipped in CDN-ready JS bundles (web-components.min.js primitives + 4 per-shell + everything.min.js kitchen-sink for CodePen); new ./js/bundled + ./everything + 4 */js-bundled exports; check:js-bundles-fresh pre-flight gate; README + site CDN docs + AI-agent discoverability; examples/codepen.html template. See `packages/web-components/CHANGELOG.md#0630--2026-05-23` for details.
475
+
476
+ ## [0.6.29] — 2026-05-23
477
+
478
+ ### Maintenance
479
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.29 work shipped in CDN-ready rolled-up CSS bundles (web-components + 4 web-modules shells); ./css/bundled + per-shell /bundled exports; check:css-bundles-fresh pre-flight gate. See `packages/web-components/CHANGELOG.md#0629--2026-05-23` for details.
480
+
481
+ ## [0.6.28] — 2026-05-23
482
+
483
+ ### Maintenance
484
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.28 work shipped in editor-sidebar rAF debounce for wide->narrow display-flip transient (FB-50, 3rd iteration of the latch saga; belt-and-braces with v0.6.26 width guard + v0.6.27 computedStyle guard). See `packages/web-modules/CHANGELOG.md#0628--2026-05-23` for details.
485
+
486
+ ## [0.6.27] — 2026-05-22
487
+
488
+ ### Maintenance
489
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.27 work shipped in chart-ui[loading] skeleton placeholder (FB-12); admin-shell CSS pitfall fix (FB-04); responsive horizontal-scroll for kanban + pricing tables; editor-sidebar computedStyle guard for small-nonzero transients (FB-49); a2ui-corpus catalog tracks chart-ui[loading]. See `packages/web-components/CHANGELOG.md#0627--2026-05-22` for details.
490
+
491
+ ## [0.6.26] — 2026-05-22
492
+
493
+ ### Maintenance
494
+ - **Lockstep version bump only.** No source changes. Substantive v0.6.26 work in `@adia-ai/web-modules`.
495
+
496
+ ## [0.6.25] — 2026-05-22
497
+
498
+ ### Maintenance
499
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.25 work shipped in select-ui[multiple] pre-init via <option selected> + .value= setter (FB-46); table-ui Enter key activates focused body cell (FB-47); corpus select-multiple-preselected exemplar chunk + harvest refresh. See `packages/web-components/CHANGELOG.md#0625--2026-05-22` for details.
500
+
501
+ ## [0.6.24] — 2026-05-22
502
+
503
+ ### Maintenance
504
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain 9-package version coherence. Substantive v0.6.24 work: `slider-ui` label/suffix reactive binding fix (FB-45), `editor-shell` `--a-font-mono` token rename (FB-43), `toast-ui` demo shell `feed.css` import. See `packages/web-components/CHANGELOG.md#0624` for details.
505
+
506
+ ## [0.6.23] — 2026-05-22
507
+
508
+ ### Maintenance
509
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.23 work shipped in row-ui wrap-at='bp' responsive flex-wrap (@adia-ai/web-components) + 4 new v053-coverage-fill training chunks for empty-state danger/warning/minimal + responsive-kpi-grid (@adia-ai/a2ui-corpus). See `packages/web-components/CHANGELOG.md#0623--2026-05-22` for details.
510
+
511
+ ## [0.6.22] — 2026-05-22
512
+
513
+ ### Maintenance
514
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.22 work shipped in @bp responsive attribute system (grid/col/row/text/block accept @bp), empty-state-ui variant=danger|warning, alert/segmented/stat/table truncation fixes, UI inset/gap scale reduction, 21 component example pages corrected; @adia-ai/web-modules admin-topbar/statusbar padding + admin-page-header/body breakpoint refinements. See `packages/web-components/CHANGELOG.md#0622--2026-05-22` for details.
515
+
516
+ ## [0.6.21] — 2026-05-21
517
+
518
+ ### Maintenance
519
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.21 work shipped in `@adia-ai/web-components` (`table-ui` truncate-by-default + `[wrap]` opt-in §403; toast / feed-item variant text colour; `input-ui` slot-label crowding fix) and `@adia-ai/web-modules` (`<admin-entity-item>` row-inset alignment; FEEDBACK-37 retraction — spurious slot-contract `console.warn` removed; page-header title row no longer stacks under `?chunks` dev overlay). See `packages/web-modules/CHANGELOG.md#0621--2026-05-21` for details.
520
+
521
+ ## [0.6.20] — 2026-05-21
522
+
523
+ ### Maintenance
524
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.20 work shipped in `@adia-ai/web-components` + `@adia-ai/web-modules` — the claims-ui-v5 inbound feedback batch (FEEDBACK-34…39: `table-ui` / `select-ui` / `chart-ui` fixes, the new `<admin-entity-item>` shell primitive, `admin-topbar` / `admin-statusbar` slot diagnostics) plus the `<admin-page-header>` `--a-canvas-0` rebase. See `packages/web-modules/CHANGELOG.md#0620--2026-05-21` for details.
525
+
526
+ ## [0.6.19] — 2026-05-21
527
+
528
+ ### Maintenance
529
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.19 work shipped in `@adia-ai/web-components` + `@adia-ai/web-modules` — the claims-ui-v4 inbound feedback batch (FEEDBACK-22…33: `drawer-ui` / `chart-ui` / `segmented-ui` fixes, `UIElement` lifecycle, exports-map `types` conditions) — plus an `@adia-ai/a2ui-corpus` drift remediation. See `packages/web-components/CHANGELOG.md#0619--2026-05-21` for details.
530
+
531
+ ## [0.6.18] — 2026-05-21
532
+
533
+ ### Maintenance
534
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.18 work shipped in `@adia-ai/web-components` — `stat-ui` + `table-ui` `loading` props (FB-12 P2) and `text-ui` `size` / `color` / `weight` / `text-align` overlay attributes (FB-10). See `packages/web-components/CHANGELOG.md#0618--2026-05-21` for details.
535
+
536
+ ## [0.6.17] — 2026-05-21
537
+
538
+ ### Maintenance
539
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.17 work shipped in `@adia-ai/web-modules` — collapsed-sidebar rules grew a forgiving fallback block for vanilla HTML consumers (`<button class="nav-item">`, `[slot="heading"]`) so text labels don't overflow the 48px rail. See `packages/web-modules/CHANGELOG.md#0617--2026-05-21` for details.
540
+
541
+ ## [0.6.16] — 2026-05-21
542
+
543
+ ### Maintenance
544
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.16 work shipped in `@adia-ai/web-modules`: (1) `<admin-page>` selector relaxed to descendant combinator so router-wrapped layouts no longer collapse to `display: inline` at narrow viewports (was the root of the page-header/KPI overlap regression); (2) `--page-content-header-bg` rebased from `--a-canvas-2` to `--a-canvas-1` so the page-header reads as shell-chrome continuation. See `packages/web-modules/CHANGELOG.md#0616--2026-05-21` for details.
545
+
546
+ ## [0.6.15] — 2026-05-21
547
+
548
+ ### Maintenance
549
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.15 work shipped in `@adia-ai/web-components` — `installIconLoaders` shape-detects malformed flat globs (FB-07 auto-promote + warn), `icons-phosphor.js` surfaces silent-fail diagnostics (FB-08), and .claude/docs/skill examples corrected (FB-09). See `packages/web-components/CHANGELOG.md#0615--2026-05-21` for details.
550
+
551
+ ## [0.6.14] — 2026-05-21
552
+
553
+ ### Maintenance
554
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.14 work shipped in `@adia-ai/web-modules` — `<admin-page-header>` now uses `var(--page-content-header-bg)` (= `--a-canvas-2`) + `var(--a-shadow-sm)` so the page-header band reads as elevated chrome over the body canvas. See `packages/web-modules/CHANGELOG.md#0614--2026-05-21` for details.
555
+
556
+ ## [0.6.13] — 2026-05-20
557
+
558
+ ### Maintenance
559
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.13 work shipped in `@adia-ai/web-modules` — `<admin-shell>` default `mode` is now `"rounded borderless"` (bare-tag auto-promote on connect; any explicit `mode` attribute still wins). See `packages/web-modules/CHANGELOG.md#0613--2026-05-20` for details.
560
+
561
+ ## [0.6.12] — 2026-05-20
562
+
563
+ ### Maintenance
564
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.12 work shipped in `@adia-ai/web-modules` — admin-shell legacy CSS bridges retired per ADR-0032 (continuation of ADR-0023 + ADR-0024). See `packages/web-modules/CHANGELOG.md#0612--2026-05-20` for the breaking-change details + migration path.
565
+
566
+ ## [0.6.11] — 2026-05-20
567
+
568
+ ### Maintenance
569
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.11 work shipped in `@adia-ai/web-components` (`<canvas-ui>` `.d.ts` hand-author covering 9 imperative runtime methods, claims-ui-v2 inbound FB-02 finding 2 closure) and `adia-ui-kit` skill v2.8.0 bundled feedback close (FB-01, FB-02 findings 1+3, FB-03; graduated `/with-css` opt-in docs + `ADIA_TICKETS_DIR` central-inbound workflow).
570
+
571
+ ## [0.6.10] — 2026-05-21
572
+
573
+ ### Maintenance
574
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.10 work shipped in `@adia-ai/web-modules` (4 shell `/with-css` opt-in companion subpaths, claims-ui FB-06 closure, ADR-0030) and `@adia-ai/web-components` (`<table-toolbar-ui>` unknown-attr `console.warn`, FB-04 enhancement; release-gate hygiene).
575
+
576
+ ## [0.6.9] — 2026-05-21
577
+
578
+ ### Maintenance
579
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.9 work shipped in `@adia-ai/web-components` (CSS `@scope` codemod, F-002) and `@adia-ai/web-modules` (cross-package subpath docs, FB-08).
580
+
581
+ ## [0.6.8] — 2026-05-20
582
+
583
+ - Lockstep version bump. Headlining work in `@adia-ai/web-components`
584
+ (FB-55 `.camelCaseProp=${expr}` two-layer name resolution + FB-57
585
+ SVG/MathML namespace-aware `mount()` + USAGE.md docs cluster) and
586
+ `@adia-ai/web-modules` (claims-ui F-001 chat-shell.js barrel-import
587
+ fix + F-006 required-CSS callouts). No source changes in this package.
588
+
589
+ ## [0.6.7] — 2026-05-19
590
+
591
+ - Lockstep version bump; no source changes.
592
+
593
+ ## [0.6.6] — 2026-05-18
594
+
595
+ ### Changed
596
+ - Lockstep version bump for §304 `<field-ui align>` prop.
597
+ ## [0.6.5] — 2026-05-18
598
+
599
+ ### Changed
600
+ - Lockstep version bump for TS Phase 6 sealing (ADR-0029).
601
+ Follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
602
+ [Semantic Versioning](https://semver.org/).
603
+
604
+ > **Renamed from `@adia-ai/a2ui-utils` in v0.3.0.** All releases
605
+ > through v0.2.5 published as `@adia-ai/a2ui-utils`. The package's own
606
+ > description has always called it the "A2UI runtime"; v0.3.0 aligns
607
+ > the package name with its purpose. See v0.3.0 entry for migration
608
+ > notes.
609
+ ## [0.6.32] — 2026-05-23
610
+
611
+ _No pending changes._
612
+
613
+ ## [0.6.4] - 2026-05-18
614
+
615
+ ### v0.6.4 §359 — TypeScript-first Phase 5: `a2ui.schema.json` + schema-driven codegen
616
+
617
+ `packages/a2ui/runtime/a2ui.schema.json` — JSON Schema 2020-12 for the full A2UI protocol.
618
+ `scripts/build/a2ui-schema-types.mjs` codegen emits `a2ui.schema.d.ts` from schema.
619
+ `npm run verify:a2ui-schema` drift-detection gate added to `npm run check`.
620
+ `./schema` + `./types` subpath exports added. `types.d.ts` now re-exports from schema.
621
+ **No BREAKING changes.**
622
+
623
+ ## [0.6.3] - 2026-05-18
624
+
625
+ ### v0.6.3 §358 — TypeScript-first Phase 5: real `.d.ts` + `A2UIMessage` discriminated union
626
+
627
+ 18 real declaration files replace Phase 1 `export {}` stubs across runtime, dockables,
628
+ surface-manifest, and wiring-registry. `A2UIMessage` discriminated union added.
629
+ `index.ts` typed barrel. **No BREAKING changes.**
630
+
631
+ ## [0.6.2] - 2026-05-18
632
+
633
+ ### v0.6.2 — Lockstep ride-along
634
+
635
+ TS Phase 4: retrieval (§356) + mcp (§357) `.ts` sources + TS-MIG-001 closed.
636
+ No source changes in this package. Internal dep ranges stay at `^0.6.0`.
637
+
638
+ ## [0.6.1] - 2026-05-18
639
+
640
+ ### v0.6.1 — Lockstep ride-along
641
+
642
+ `@adia-ai/llm` TS Phase 2 (§353) + `<link-ui>` token rename (§354) +
643
+ `@adia-ai/a2ui-compose` TS Phase 3 (§355). No source changes in this package.
644
+ Internal dep ranges stay at `^0.6.0`.
645
+
646
+ ## [0.6.0] - 2026-05-18
647
+
648
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.6.0 — see root CHANGELOG)._
649
+
650
+ **MINOR-line internal-dep range update:** internal `@adia-ai/*` dependency ranges move from `^0.5.0` to `^0.6.0` per AdiaUI lockstep policy.
651
+
652
+ ## [0.5.21] - 2026-05-18
653
+
654
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.21 — see root CHANGELOG)._
655
+
656
+ ## [0.5.20] - 2026-05-18
657
+
658
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.20 — see root CHANGELOG)._
659
+
660
+ ## [0.5.19] - 2026-05-17
661
+
662
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.19 — see root CHANGELOG)._
663
+
664
+ ## [0.5.18] - 2026-05-16
665
+
666
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.18 — see root CHANGELOG)._
667
+
668
+ ## [0.5.17] - 2026-05-16
669
+
670
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.17 — see root CHANGELOG)._
671
+
672
+ ## [0.5.16] - 2026-05-16
673
+
674
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.16 — see root CHANGELOG)._
675
+
676
+ ## [0.5.15] - 2026-05-16
677
+
678
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.15 — see root CHANGELOG)._
679
+
680
+ ## [0.5.14] - 2026-05-15
681
+
682
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.14 — see root CHANGELOG)._
683
+
684
+ ## [0.5.13] - 2026-05-15
685
+
686
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.13 — see root CHANGELOG)._
687
+
688
+ ## [0.5.12] - 2026-05-15
689
+
690
+ _Lockstep ride-along (no source change in this package; companion to web-components v0.5.12 — see root CHANGELOG)._
691
+
692
+ ## [0.5.11] - 2026-05-15
693
+
694
+ _Lockstep ride-along (no source change)._
695
+
696
+ ## [0.5.10] - 2026-05-15
697
+
698
+ _Lockstep ride-along (no source change)._
699
+
700
+ ## [0.5.9] - 2026-05-15
701
+
702
+ _Lockstep ride-along (no source change)._
703
+
704
+ ## [0.5.8] - 2026-05-15
705
+
706
+ _Lockstep ride-along (no source change)._
707
+
708
+ ## [0.5.7] - 2026-05-15
709
+
710
+ _Lockstep ride-along (no source change)._
711
+
712
+ ## [0.5.6] - 2026-05-14
713
+
714
+ _Lockstep ride-along (no source change)._
715
+ ## [0.5.5] - 2026-05-14
716
+
717
+ ### Changed — §176 (v0.5.5) — legacy registry alias removal
718
+
719
+ Removed `['Chat', 'chat-ui']` entry from `registry.js`. Renamed to `chat-thread-ui` in pre-0.2.0; zero current usage in codebase (verified by grep). Was a §175 baseline orphan; removing the registry entry closes it cleanly.
720
+
721
+ Net: -1 entry; **192 total registry entries** at v0.5.5.
722
+
723
+ Commit `443365913`. See root CHANGELOG and journal §176 for full context.
724
+ ## [0.5.4] - 2026-05-14
725
+
726
+ ### Changed — lockstep ride-along; no source changes
727
+
728
+ `version`: `0.5.3` → `0.5.4`. Source byte-identical to `0.5.3`.
729
+ Tarball changes: none.
730
+
731
+ Tracking the v0.5.4 cycle's prop-fidelity arcs (§163 transpiler fix,
732
+ §164 chunk re-harvest, §165 validator check #19, §166a/b/c audit-script
733
+ family slots 12+13 + smoke shift-left): see root `CHANGELOG.md` for the
734
+ full narrative. This package carries no source changes this cycle.
735
+ ## [0.5.3] - 2026-05-14
736
+
737
+ _No pending changes._
738
+ ## [0.5.2] - 2026-05-13
739
+
740
+ _Lockstep ride-along (no source change)._
741
+ ## [0.5.1] - 2026-05-13
742
+
743
+ _Lockstep ride-along (no source change)._
744
+ ## [0.5.0] - 2026-05-13
745
+
746
+ _Lockstep ride-along (no source change)._
747
+ ## [0.4.9] - 2026-05-13
748
+
749
+ _No pending changes._
750
+ ## [0.4.8] - 2026-05-12
751
+
752
+ ### Ride-along (no source changes)
753
+
754
+ Lockstep PATCH cut alongside `@adia-ai/web-components@0.4.8` (§80 event-types codegen for 38 non-form primitives + §85 class-subpath script fix + §89 icons.js split + B+C+D consumer-friction infra), `@adia-ai/web-modules@0.4.8` (FEEDBACK-02 #1 `.d.ts` shipment + `composes:` ADR-0027 wiring), `@adia-ai/a2ui-compose@0.4.8` (§87 zettel `ensureBooted()` race fix + §88 free-form composition mode), `@adia-ai/a2ui-corpus@0.4.8` (catalog regen ride-along), `@adia-ai/a2ui-mcp@0.4.8` (§87 eval threshold rebaseline). Source byte-identical to v0.4.7.
755
+
756
+ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). See root [CHANGELOG.md `## [0.4.8]`](../../CHANGELOG.md) for the cut narrative.
757
+ ## [0.4.7] - 2026-05-12
758
+
759
+ ### Ride-along (no source changes)
760
+
761
+ Lockstep PATCH cut alongside `@adia-ai/web-components@0.4.7` (§74 `.d.ts` codegen for 73 non-form primitives + §77 non-side-effect `class` subpath per component + class.js helper extractions in agent + toolbar primitives), `@adia-ai/web-modules@0.4.7`, `@adia-ai/a2ui-compose@0.4.7` (§72 `getComponentCatalog()` reads canonical catalog), `@adia-ai/a2ui-corpus@0.4.7` (§72 `corpus/patterns/` + `corpus/compositions/` retired from disk + tarball — v0.4.6 §65 carry-over closed), `@adia-ai/a2ui-mcp@0.4.7`, `@adia-ai/a2ui-retrieval@0.4.7` (§72 vocab reads canonical catalog + dead pattern-embeddings retired). Source byte-identical to v0.4.6.
762
+
763
+ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). See root [CHANGELOG.md `## [0.4.7]`](../../CHANGELOG.md) for the cut narrative.
764
+ ## [0.4.6] - 2026-05-12
765
+
766
+ ### Ride-along (no source changes)
767
+
768
+ Lockstep PATCH cut alongside `@adia-ai/web-components@0.4.6` (§68 .d.ts shipment + USAGE.md + `defineIfFree` + NEW `<toggle-scheme-ui>` primitive + `<pane-ui>` resize tracking 1:1), `@adia-ai/web-modules@0.4.6` (`<editor-sidebar>` resize-state detection widened via `:has()`), `@adia-ai/a2ui-compose@0.4.6` (§66 canonical `.a2ui.json` sidecars in `buildSystemPrompt` + §64 composition-library canonical retrieval), `@adia-ai/a2ui-corpus@0.4.6` (§63 settings-admin-page Mode A + 12 antipattern fixes + chunk re-harvest), `@adia-ai/a2ui-retrieval@0.4.6` (§64 pattern-library retirement, consumers migrated to composition-library), `@adia-ai/a2ui-mcp@0.4.6` (§64 step 5 patterns surface retired from server.js + eval-fix.mjs). Source byte-identical to v0.4.5.
769
+
770
+ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). See root [CHANGELOG.md `## [0.4.6]`](../../CHANGELOG.md) for the cut narrative.
771
+ ## [0.4.5] - 2026-05-12
772
+
773
+ ### Ride-along (no source changes)
774
+
775
+ Lockstep PATCH cut alongside `@adia-ai/web-components@0.4.5` (§61 CSS subpath exports + CustomEvent.detail sweep across 17 form-bearing primitives + slider reactivity test lock-in + §52 design-tokens export module + UI), `@adia-ai/web-modules@0.4.5` (§61 CSS subpath exports — six cluster `*.css` exports), `@adia-ai/a2ui-compose@0.4.5` (§56 system-prompt CORPUS CONTEXT block in monolithic strategies), `@adia-ai/llm@0.4.5` (§54 doc-comment path refresh). Source byte-identical to v0.4.4.
776
+
777
+ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). See root [CHANGELOG.md `## [0.4.5]`](../../CHANGELOG.md) for the cut narrative.
778
+ ## [0.4.4] - 2026-05-12
779
+
780
+ ### Changed
781
+
782
+ - **`runtime/registry.js` — proactive transpiler+web-modules audit (§49).** Cross-referenced transpiler-emitted A2UI types (40 emissions) against the registry's PascalCase Map → Pass 1 found only `Search` as a gap (and Search is deliberately deprecated per the in-file comment). Per user directive ("use web-modules as part of the catalog mappings as needed"), expanded scope to `packages/web-modules/**/<name>.yaml` and discovered **0 of 28 web-modules had correct registry entries**. Added 27 new entries in a new "§49 — web-module catalog mappings" section, organized by cluster:
783
+ - **Admin shell (10):** `AdminCommand`, `AdminContent`, `AdminPage`, `AdminPageBody`, `AdminPageHeader`, `AdminScroll`, `AdminShell`, `AdminSidebar`, `AdminStatusbar`, `AdminTopbar`.
784
+ - **Chat (6):** `ChatComposer`, `ChatEmpty`, `ChatHeader`, `ChatShell`, `ChatSidebar`, `ChatStatus`.
785
+ - **Editor (6):** `EditorCanvas`, `EditorCanvasEmpty`, `EditorShell`, `EditorSidebar`, `EditorStatusbar`, `EditorToolbar`.
786
+ - **Singletons (5):** `GenRoot`, `SimpleContent`, `SimpleHero`, `SimpleShell`, `ThemePanel`.
787
+ - **`Sidebar` → `admin-sidebar`** (was: native `<aside>`) per user directive in §49. AdminSidebar at `packages/web-modules/shell/admin-sidebar/` is the canonical sidebar affordance; native `<aside>` falls back via the validator's bare-HTML allowlist if needed.
788
+ - **`ChatThread` → `chat-thread`** (was: `chat-thread-ui` primitive) — the module owns scroll-to-bottom + streaming behavior; the primitive remains accessible via its bare tag. Verified zero corpus records use `ChatThread` today before re-routing.
789
+ - **`FormContainer` → `form` registry alias (§45)** — closes 12 `unknown-component` criticals surfaced when §45's auth chunks (containing `<form>` markup) hit the validator. The transpiler maps `<form>` → `FormContainer` (per `transpiler-maps.js`) but the registry had no entry. Renders as native `<form>` (no `form-ui` component exists).
790
+
791
+ ### Fixed
792
+
793
+ - **`runtime/renderer.js` `#toAttr()` — preserve HTML standard single-token attributes (§51).** The naive `name.replace(/([A-Z])/g, '-$1').toLowerCase()` unconditionally kebab-cased camelCase prop names. Correct for multi-token HTML attrs (`ariaLabel` → `aria-label`, `dataChunk` → `data-chunk`), but BROKE HTML standard single-token attributes spelled all-lowercase:
794
+ - `autoComplete` → `"auto-complete"` ✗ (HTML attr is `autocomplete`)
795
+ - `inputMode` → `"input-mode"` ✗ (HTML attr is `inputmode`)
796
+ - `tabIndex` → `"tab-index"` ✗ (HTML attr is `tabindex`)
797
+ - `maxLength` → `"max-length"` ✗ (HTML attr is `maxlength`)
798
+
799
+ Project-lifetime category error; same shape as the §47 `<a>` → Button transpiler bug. Both encoded incorrect assumptions about HTML attribute spelling. Fix: new `static #HTML_LOWERCASE_ATTRS` set (38 HTML-spec attrs sourced from MDN reference + DOM specs covering input/form/media/image/anchor/generic/microdata/script categories); `#toAttr()` now consults the set before kebab-casing. Multi-token attrs still kebab correctly.
800
+
801
+ See root [CHANGELOG.md `[Unreleased]`](../../CHANGELOG.md) for the cross-cutting arc narrative + `.claude/docs/journal/2026/05/2026-05-12.md` §§ 45 / 49 / 51 for per-§ details.
802
+ ## [0.4.3] - 2026-05-11
803
+
804
+ ### Ride-along (no source changes)
805
+
806
+ Lockstep PATCH cut alongside `@adia-ai/web-components@0.4.3` (input-ui type=number locale + thousands grouping + hold-to-repeat) + `@adia-ai/a2ui-compose@0.4.3` + `@adia-ai/a2ui-retrieval@0.4.3` (process.env browser-compat fix) + `@adia-ai/a2ui-corpus@0.4.3` (catalog regen + chunks re-harvest with new settings-appearance pattern). Source byte-identical to v0.4.2.
807
+
808
+ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). See root [CHANGELOG.md `## [0.4.3]`](../../CHANGELOG.md) for the cut narrative.
809
+ ## [0.4.2] - 2026-05-11
810
+
811
+ ### Ride-along (no source changes)
812
+
813
+ Lockstep PATCH cut alongside `@adia-ai/web-components@0.4.2` (`<input-ui type="number">` rewrite drops native `<input type=number>` wrapping) + `@adia-ai/web-modules@0.4.2` (`<editor-sidebar>` grid-track width-mirror fix). Source byte-identical to v0.4.1.
814
+
815
+ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). See root [CHANGELOG.md `## [0.4.2]`](../../CHANGELOG.md) for the cut narrative.
816
+ ## [0.4.1] - 2026-05-10
817
+
818
+ ### Ride-along (no source changes)
819
+
820
+ Lockstep PATCH cut alongside `@adia-ai/web-modules@0.4.1` (simple cluster) + `@adia-ai/a2ui-validator@0.4.1` (Phase 3 foundation) + `@adia-ai/a2ui-corpus@0.4.1` (fragment metrics reconciliation). Source byte-identical to v0.4.0.
821
+
822
+ Internal `@adia-ai/*` dep ranges bumped from `^0.4.0` to `^0.4.1`. See root [CHANGELOG.md `## [0.4.1]`](../../CHANGELOG.md) for the cut narrative.
823
+ ## [0.4.0] - 2026-05-10
824
+
825
+ ### Ride-along (no source changes)
826
+
827
+ Lockstep MINOR cut alongside `@adia-ai/web-modules@0.4.0` (ADR-0024 legacy shell shapes retired). Source byte-identical to v0.3.6.
828
+
829
+ Internal `@adia-ai/*` dep ranges bumped from `^0.3.0` to `^0.4.0`. See root [CHANGELOG.md `## [0.4.0]`](../../CHANGELOG.md) for the cut narrative.
830
+ ## [0.3.6] - 2026-05-10
831
+
832
+ ### Ride-along (no source changes)
833
+
834
+ Lockstep version bump only — source byte-identical to v0.3.5. Internal `@adia-ai/*` dep ranges remain at `^0.3.0`. See root [CHANGELOG.md `## [0.3.6]`](../../CHANGELOG.md) for the cut narrative.
835
+ ## [0.3.5] - 2026-05-07
836
+
837
+ ### Ride-along (no source changes)
838
+
839
+ Lockstep version bump only — source byte-identical to v0.3.4. Internal `@adia-ai/*` dep ranges remain at `^0.3.0`. See root [CHANGELOG.md `## [0.3.5]`](../../CHANGELOG.md) for the cut narrative.
840
+ ## [0.3.4] - 2026-05-07
841
+
842
+ ### Ride-along (no source changes)
843
+
844
+ Lockstep version bump only — source byte-identical to v0.3.3. Internal `@adia-ai/*` dep ranges remain at `^0.3.0`. See root [CHANGELOG.md `## [0.3.4]`](../../CHANGELOG.md) for the cut narrative.
845
+ ## [0.3.3] - 2026-05-07
846
+
847
+ **Lockstep cut.** All 9 published `@adia-ai/*` packages now share version `0.3.3`, governed by [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
848
+
849
+ ### Changed
850
+
851
+ - `version`: `0.3.2` → `0.3.3`.
852
+ - `dependencies["@adia-ai/...]`: `^0.3.0` (patch-cut asymmetry — caret already covers 0.3.x; ranges unchanged).
853
+
854
+ ### No source changes
855
+
856
+ `@adia-ai/a2ui-runtime` source is byte-identical to `0.3.2`. The cut is a version bump + ride-along on the lockstep policy.
857
+ ## [0.3.2] - 2026-05-06
858
+
859
+ **9-package lockstep patch cut to v0.3.2.** All lockstep members share
860
+ one version per [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
861
+ Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
862
+
863
+ ### No source changes
864
+
865
+ This package's source is byte-identical to v0.3.1. The cut bumps
866
+ version only.
867
+
868
+ ### Changed
869
+
870
+ - `version`: `0.3.1` → `0.3.2`.
871
+ ## [0.3.1] - 2026-05-06
872
+
873
+ **9-package lockstep patch cut.** All 9 published `@adia-ai/*` packages bump 0.3.0 → 0.3.1 per [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/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).
874
+
875
+ This package itself ships **no source changes** in v0.3.1. The cut bumps version only — substantive content lives in [`@adia-ai/web-components`](https://github.com/adiahealth/gen-ui-kit/releases/tag/web-components-v0.3.1) (folder-per-trait restructure; barrel API unchanged).
876
+
877
+ ### Changed
878
+
879
+ - `version`: `0.3.0` → `0.3.1`.
880
+ - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
881
+ ## [0.3.0] - 2026-05-05
882
+
883
+ **9-package lockstep cut + package rename + LLM extraction.** All 9 published `@adia-ai/*` packages bump 0.2.5 → 0.3.0 per [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges bump `^0.2.0` → `^0.3.0`.
884
+
885
+ This is a **minor cut on top of v0.2.5 with two BREAKING changes for npm consumers** (acceptable under pre-1.0 semver):
886
+ 1. **Package renamed** — `@adia-ai/a2ui-utils` → `@adia-ai/a2ui-runtime` (this package).
887
+ 2. New 9th lockstep package `@adia-ai/llm` extracted from `@adia-ai/a2ui-compose/llm` (sibling concern).
888
+
889
+ Lockstep policy expanded from 8 to 9 packages. The CI gate `lockstep-versioning` now enforces all 9 share one version.
890
+
891
+ ### Changed
892
+
893
+ - **Package name: `@adia-ai/a2ui-utils` → `@adia-ai/a2ui-runtime`.** Pure rename. No API change. Source path moved from `packages/a2ui/utils/` → `packages/a2ui/runtime/` to match the new name. The `name` field in package.json is the only consumer-visible change; all subpath exports (`./registry`, `./renderer`, `./streams`, `./surface`, `./wiring`, `./dockables`) preserved verbatim.
894
+ - `version`: `0.2.5` → `0.3.0`.
895
+
896
+ ### Migration
897
+
898
+ Update `package.json`:
899
+
900
+ ```diff
901
+ - "@adia-ai/a2ui-utils": "^0.2.0"
902
+ + "@adia-ai/a2ui-runtime": "^0.3.0"
903
+ ```
904
+
905
+ Update imports across the codebase:
906
+
907
+ ```diff
908
+ - import { A2UIRenderer } from '@adia-ai/a2ui-utils/renderer';
909
+ + import { A2UIRenderer } from '@adia-ai/a2ui-runtime/renderer';
910
+
911
+ - import { registry } from '@adia-ai/a2ui-utils/registry';
912
+ + import { registry } from '@adia-ai/a2ui-runtime/registry';
913
+ ```
914
+
915
+ The `@adia-ai/a2ui-utils@0.2.5` and earlier remain on npm and continue to work; the rename only affects new installs and explicit upgrades. There is no deprecated stub on the old name — consumers who don't upgrade keep their existing `@adia-ai/a2ui-utils@0.2.5` installation.
916
+
917
+ ### Why
918
+
919
+ "utils" undersold what this package is and collided visually with `web-modules/runtime/` (which holds `<a2ui-root>`, the surface element). The package's own description has always called it "A2UI runtime — renderer, registry, streams"; the name now matches.
920
+ ## [0.2.5] - 2026-05-04
921
+
922
+ **8-package lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.4 → 0.2.5 per [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.5 under semver — patch-cut asymmetry).
923
+
924
+ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive content lives in `web-components` (new `<fields-ui>` form-grid primitive + `draggable-list-item` last-item drop-zone fix, both surfaced by the Tasks UI Playground at `.claude/docs/projects/tasks-playground/`); `a2ui-corpus` ships a catalog regen for the new `<fields-ui>` yaml. `a2ui-utils` rides along at version bump only — no source change.
925
+
926
+ ### Changed
927
+
928
+ - `version`: `0.2.4` → `0.2.5`.
929
+ - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
930
+ ## [0.2.4] - 2026-05-04
931
+
932
+ **8-package lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.3 → 0.2.4 per [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.4 under semver — patch-cut asymmetry).
933
+
934
+ This is a **patch cut on top of v0.2.3, no BREAKING changes.** Substantive content lives in `web-components` (Tier 4 trait library lift, 11 new traits + 2 architectural rewrites, plus accumulated bug fixes); `a2ui-corpus` ships a catalog regen for the new `<demo-toggle-ui>` primitive. Six packages ride along at version + dep-range bump.
935
+
936
+ ### Changed
937
+
938
+ - `version`: `0.2.3` → `0.2.4`.
939
+ - `dependencies["@adia-ai/a2ui-utils"]`: `^0.2.0` (covers `0.2.4`).
940
+
941
+ This package's source tree is byte-identical to 0.2.3. The cut bumps version + the internal dep range only, per the lockstep policy.
942
+
943
+ _Nothing yet._
944
+
945
+ ---
946
+
947
+ ---
948
+ ## [0.2.3] - 2026-05-04
949
+
950
+ **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
951
+ 0.2.2 → 0.2.3 per
952
+ [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
953
+ Patch cut — no breaking changes.
954
+
955
+ ### Changed
956
+
957
+ - `version`: `0.2.2` → `0.2.3`.
958
+
959
+ ### No source changes
960
+
961
+ `@adia-ai/a2ui-utils` source is byte-identical to `0.2.2`. The cut bumps version only.
962
+ ## [0.2.2] — 2026-05-02
963
+
964
+ **Lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.1 → 0.2.2 per [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
965
+
966
+ ### Changed
967
+
968
+ - `version`: `0.2.1` → `0.2.2`.
969
+
970
+ ### No source changes
971
+
972
+ `a2ui-utils` source is byte-identical to `0.2.1`. The cut bumps version only.
973
+
974
+ ---
975
+ ## [0.2.1] — 2026-05-02
976
+
977
+ **Lockstep cut + A2UI registry mappings (`Field`/`Rating`/`ListItem`/`NavItem`/`NavGroup`).** All 8 published `@adia-ai/*` packages bump 0.2.0 → 0.2.1 per [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
978
+
979
+ ### Changed
980
+
981
+ - `version`: `0.2.0` → `0.2.1`.
982
+
983
+ ### Added — A2UI registry mappings (2026-05-02)
984
+
985
+ Five new A2UI type → AdiaUI tag mappings in `registry.js`:
986
+
987
+ - `Field` → `field-ui`
988
+ - `Rating` → `rating-ui`
989
+ - `ListItem` → `list-item-ui`
990
+ - `NavItem` → `nav-item-ui`
991
+ - `NavGroup` → `nav-group-ui`
992
+
993
+ All 5 components existed in `@adia-ai/web-components`; the registry hadn't been kept in sync. Closing this gap fixes 28/113 hand-authored patterns that previously rendered as `[unknown: X]` placeholders when imported into `/site/playground/a2ui-editor`, plus the render-preview's `streamed-list` example. The `NavItem` and `NavGroup` additions also align with `ADR-0015`'s nav consolidation (the retired `SectionNav`/`SectionNavItem` types are migrated in `@adia-ai/a2ui-corpus`).
994
+
995
+ Smoke side-effect: zettel score 91 → 92; `smoke:engines` flipped from `valid=false score=98/91` to `valid=true score=100/92` because the unregistered types were tripping validation. Per-finding triage in `.claude/docs/reports/playground-examples-review-2026-05-02.md`.
996
+
997
+ ---
998
+ ## [0.2.0] — 2026-05-02
999
+
1000
+ **Lockstep cut.** All 8 published `@adia-ai/*` packages now share one
1001
+ version, governed by [`.claude/docs/specs/package-architecture.md` § 15
1002
+ (Versioning Policy)](../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1003
+
1004
+ ### Changed
1005
+
1006
+ - `version`: `0.0.2` → `0.2.0`.
1007
+
1008
+ ### No source changes
1009
+
1010
+ A2UI runtime source (renderer, registry, streams, surface manifest,
1011
+ wiring primitives, controllers, dockables) is byte-identical to 0.0.2.
1012
+ The cut bumps the version only — utils has no internal `@adia-ai/*`
1013
+ dependencies. Five sibling packages depend on this package via
1014
+ `^0.0.2` (now `^0.2.0`), which under npm pre-1.0 semver locks them to
1015
+ the exact version; the lockstep cut switches them to a working range.
1016
+
1017
+ ---
1018
+ ## [0.0.2] — 2026-04-22
1019
+
1020
+ Controllers-move fix. `0.0.1` published but was broken for any
1021
+ surface that declared a controller: `wiring-registry.js` held lazy
1022
+ `await import('../controllers/*.js')` calls that resolved to
1023
+ `packages/a2ui/controllers/` (nonexistent) because the controllers
1024
+ subdir still lived under `packages/web-components/` at the time of
1025
+ the initial split. `0.0.2` moves `controllers/` into this package
1026
+ alongside the wiring code that uses them and retargets the dynamic
1027
+ imports to `./controllers/`. **Consumers on `0.0.1` should upgrade
1028
+ to `0.0.2`; `0.0.1` is broken for any surface that declares a
1029
+ controller.**
1030
+
1031
+ ### Included
1032
+
1033
+ - **Controllers** — `controllers/` subdir with `FormController`,
1034
+ `DataStreamController`, `SelectionController`, `ToggleController`,
1035
+ `AccordionController`, `StateMachineController`, plus the shared
1036
+ `BaseController`. Lazy-loaded via dynamic imports from
1037
+ `wiringRegistry`. Pure JS — no web-component dependency; only
1038
+ extend `BaseController` (host management + subscription + notify).
1039
+ Moved in from `packages/web-components/controllers/` after the
1040
+ initial carve-out surfaced that `wiring-registry.js` lazy-imports
1041
+ these at runtime and the imports couldn't resolve — the six types
1042
+ are registered in `wiringRegistry` for lazy resolution so a
1043
+ surface only loads what it declares.
1044
+ - **`A2UIRenderer`** — processes A2UI protocol messages (`createSurface`,
1045
+ `updateComponents`, `wireComponents`, `updateDataModel`, `destroySurface`)
1046
+ and writes custom elements into a container. Batched via
1047
+ `requestAnimationFrame`.
1048
+ - **Registry** — `registry`, `resolveTag`, `registerType`. A2UI protocol
1049
+ component name → custom-element tag map, extensible at runtime.
1050
+ - **Transports** — `sseStream`, `wsStream`, `mockStream`, `mcpStream`,
1051
+ `jsonlStream`. Normalize inbound A2UI messages from the respective
1052
+ transports into a consistent async iterable.
1053
+ - **`SurfaceManifest`** — design-time manifest model for multi-surface
1054
+ apps.
1055
+ - **`Surface`** — runtime surface lifecycle primitive.
1056
+ - **Wiring layer** — `WiringEngine`, `wiringRegistry`, `createDockables`,
1057
+ and the dockable base classes (`Dockable`, `ControllerDock`,
1058
+ `DataSourceDock`, `ActionDock`, `ProviderDock`, `LifecycleDock`).
1059
+
1060
+ ### Notes on the carve-out
1061
+
1062
+ - Dead exports from the old `web-components/a2ui/index.js`
1063
+ (`ContextStore`, `ManifestRuntime`, `A2UIValidator`, `A2UIGenerator`,
1064
+ `savePattern`, `importPattern`, `buildPatternJSON`, `retrieval/*`,
1065
+ `feedbackStore`) were not carried forward — the referenced source
1066
+ files did not exist in this repo. The new `index.js` exports only
1067
+ live symbols.
1068
+ - `manifest-runtime.js` was deleted during the move — it referenced
1069
+ `./context-store.js` which had never been authored. Will return if
1070
+ and when a context-store surface is designed.
1071
+ - The `ActionDock` constant that mapped A2UI event names to DOM event
1072
+ names was renamed to `A2UI_EVENT_TO_DOM` for clarity. Its shape is
1073
+ unchanged.