@adia-ai/a2ui 0.8.37 → 0.8.38

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 CHANGED
@@ -4,6 +4,20 @@
4
4
  > 0.8.37 (the estate-split cut) were released under the old name and are kept
5
5
  > verbatim.
6
6
 
7
+ ## [0.8.38] — 2026-08-15
8
+
9
+ ### Added
10
+ - **The catalog contract ships from this package — `@adia-ai/a2ui/catalog` (ADR-0050, gh#1243, phase 1).** `catalog-a2ui_0_9.json` (190 components, prop schemas, taxonomy) moved out of `@adia-ai/gen-ui`'s corpus and is now a subpath export here, alongside its authoring sources (`./catalog/common-types`, `./catalog/functions`). The catalog is the CONTRACT — what exists and how it composes — and the corpus is the FUEL that derives from it; a consumer that only needs to emit valid A2UI no longer installs the ~21MB corpus to enumerate the vocabulary. **The package stays zero-dependency:** the catalog is data it exports, not a dependency it gains.
11
+ - **`@adia-ai/a2ui/catalog/tiers` — the L0–L4 ladder index.** Derived (`npm run build:catalog-tiers`, gated by `check:catalog-tiers`), never hand-edited. Five rungs — L0 primitives, L1 widgets, L2 layouts, L3 shells, L4 flows — each carrying its entry unit, the rung it composes, populated/reserved status, count, and entries. The ladder's one law, **every tier-N entry is a declared composition of tier-(N−1) entries**, is enforced by the derivation. L0 is populated (190 entries); L1–L4 are reserved — curation is its own phase (`.claude/docs/specs/tiered-catalogs.md` ## Follow-up phases). The index extends genui-system R-C7's grammar with an additive `tiers` section rather than minting a second manifest format.
12
+
13
+ ### Changed
14
+ - **Package directory moved `packages/a2ui` → `packages/gen-ui/a2ui` (ADR-0049, gh#1244).** Directory move only — the npm name, exports, and API are unchanged.
15
+
16
+ ### Maintenance
17
+ - **`controllers/` touched in this release window** (8 file(s), e.g. `controllers/accordion.js`) — carried by the entries above.
18
+ - **`dockables/` touched in this release window** (14 file(s), e.g. `dockables/action.d.ts`) — carried by the entries above.
19
+ - **`validate/` touched in this release window** (7 file(s), e.g. `validate/CHANGELOG.md`) — carried by the entries above.
20
+
7
21
  ## [0.8.37] — 2026-08-14
8
22
 
9
23
  ### Maintenance
@@ -753,28 +767,28 @@ _No pending changes._
753
767
 
754
768
  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
769
 
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.
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.8]`](../../../CHANGELOG.md) for the cut narrative.
757
771
  ## [0.4.7] - 2026-05-12
758
772
 
759
773
  ### Ride-along (no source changes)
760
774
 
761
775
  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
776
 
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.
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.7]`](../../../CHANGELOG.md) for the cut narrative.
764
778
  ## [0.4.6] - 2026-05-12
765
779
 
766
780
  ### Ride-along (no source changes)
767
781
 
768
782
  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
783
 
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.
784
+ 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
785
  ## [0.4.5] - 2026-05-12
772
786
 
773
787
  ### Ride-along (no source changes)
774
788
 
775
789
  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
790
 
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.
791
+ 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
792
  ## [0.4.4] - 2026-05-12
779
793
 
780
794
  ### Changed
@@ -798,53 +812,53 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
798
812
 
799
813
  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
814
 
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.
815
+ 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
816
  ## [0.4.3] - 2026-05-11
803
817
 
804
818
  ### Ride-along (no source changes)
805
819
 
806
820
  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
821
 
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.
822
+ 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
823
  ## [0.4.2] - 2026-05-11
810
824
 
811
825
  ### Ride-along (no source changes)
812
826
 
813
827
  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
828
 
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.
829
+ 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
830
  ## [0.4.1] - 2026-05-10
817
831
 
818
832
  ### Ride-along (no source changes)
819
833
 
820
834
  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
835
 
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.
836
+ 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
837
  ## [0.4.0] - 2026-05-10
824
838
 
825
839
  ### Ride-along (no source changes)
826
840
 
827
841
  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
842
 
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.
843
+ 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
844
  ## [0.3.6] - 2026-05-10
831
845
 
832
846
  ### Ride-along (no source changes)
833
847
 
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.
848
+ 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
849
  ## [0.3.5] - 2026-05-07
836
850
 
837
851
  ### Ride-along (no source changes)
838
852
 
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.
853
+ 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
854
  ## [0.3.4] - 2026-05-07
841
855
 
842
856
  ### Ride-along (no source changes)
843
857
 
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.
858
+ 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
859
  ## [0.3.3] - 2026-05-07
846
860
 
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).
861
+ **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
862
 
849
863
  ### Changed
850
864
 
@@ -857,7 +871,7 @@ Lockstep version bump only — source byte-identical to v0.3.3. Internal `@adia-
857
871
  ## [0.3.2] - 2026-05-06
858
872
 
859
873
  **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).
874
+ one version per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
861
875
  Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
862
876
 
863
877
  ### No source changes
@@ -870,7 +884,7 @@ version only.
870
884
  - `version`: `0.3.1` → `0.3.2`.
871
885
  ## [0.3.1] - 2026-05-06
872
886
 
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).
887
+ **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
888
 
875
889
  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
890
 
@@ -880,7 +894,7 @@ This package itself ships **no source changes** in v0.3.1. The cut bumps version
880
894
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
881
895
  ## [0.3.0] - 2026-05-05
882
896
 
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`.
897
+ **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
898
 
885
899
  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
900
  1. **Package renamed** — `@adia-ai/a2ui-utils` → `@adia-ai/a2ui-runtime` (this package).
@@ -919,7 +933,7 @@ The `@adia-ai/a2ui-utils@0.2.5` and earlier remain on npm and continue to work;
919
933
  "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
934
  ## [0.2.5] - 2026-05-04
921
935
 
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).
936
+ **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
937
 
924
938
  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
939
 
@@ -929,7 +943,7 @@ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive conte
929
943
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
930
944
  ## [0.2.4] - 2026-05-04
931
945
 
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).
946
+ **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
947
 
934
948
  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
949
 
@@ -949,7 +963,7 @@ _Nothing yet._
949
963
 
950
964
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
951
965
  0.2.2 → 0.2.3 per
952
- [`.claude/docs/specs/package-architecture.md` § 15](../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
966
+ [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
953
967
  Patch cut — no breaking changes.
954
968
 
955
969
  ### Changed
@@ -961,7 +975,7 @@ Patch cut — no breaking changes.
961
975
  `@adia-ai/a2ui-utils` source is byte-identical to `0.2.2`. The cut bumps version only.
962
976
  ## [0.2.2] — 2026-05-02
963
977
 
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.
978
+ **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
979
 
966
980
  ### Changed
967
981
 
@@ -974,7 +988,7 @@ Patch cut — no breaking changes.
974
988
  ---
975
989
  ## [0.2.1] — 2026-05-02
976
990
 
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.
991
+ **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
992
 
979
993
  ### Changed
980
994
 
@@ -999,7 +1013,7 @@ Smoke side-effect: zettel score 91 → 92; `smoke:engines` flipped from `valid=f
999
1013
 
1000
1014
  **Lockstep cut.** All 8 published `@adia-ai/*` packages now share one
1001
1015
  version, governed by [`.claude/docs/specs/package-architecture.md` § 15
1002
- (Versioning Policy)](../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1016
+ (Versioning Policy)](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1003
1017
 
1004
1018
  ### Changed
1005
1019
 
package/README.md CHANGED
@@ -77,8 +77,22 @@ import { SurfaceManifest } from '@adia-ai/a2ui/surface';
77
77
  import { WiringEngine } from '@adia-ai/a2ui/wiring';
78
78
  import { ActionDock } from '@adia-ai/a2ui/dockables';
79
79
  import { validateSchema } from '@adia-ai/a2ui/validate';
80
+
81
+ import catalog from '@adia-ai/a2ui/catalog' with { type: 'json' };
82
+ import tierIndex from '@adia-ai/a2ui/catalog/tiers' with { type: 'json' };
80
83
  ```
81
84
 
85
+ `./catalog` is **the contract** (ADR-0050): one freestanding JSON Schema
86
+ document listing every component, its props, and its taxonomy — enough to
87
+ emit valid A2UI with nothing else installed. `./catalog/tiers` is the derived
88
+ L0–L4 ladder index (L0 primitives · L1 widgets · L2 layouts · L3 shells ·
89
+ L4 flows), under one law: **every tier-N entry is a declared composition of
90
+ tier-(N−1) entries**. L0 is populated today; the upper rungs are reserved
91
+ while curation lands. `./catalog/common-types` and `./catalog/functions` are
92
+ the catalog's authoring sources. All of it is exported data — this package
93
+ stays dependency-free. The harvested chunk corpus that *derives* from the
94
+ catalog is generation fuel and lives in `@adia-ai/gen-ui`.
95
+
82
96
  `./validate` is the protocol-side validator — structural + wiring/registry
83
97
  coherence checks against the A2UI protocol, no catalog and no LLM, so it
84
98
  keeps this package dependency-free. Catalog-aware validation and the LLM
package/a2ui.schema.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // AUTO-GENERATED FROM packages/a2ui/a2ui.schema.json. DO NOT EDIT.
1
+ // AUTO-GENERATED FROM packages/gen-ui/a2ui/a2ui.schema.json. DO NOT EDIT.
2
2
  // Regenerate with: node scripts/build/a2ui-schema-types.mjs
3
3
  // Verify drift with: node scripts/build/a2ui-schema-types.mjs --verify
4
4
 
@@ -0,0 +1,4 @@
1
+ // v0.5.21 hotfix stub — TS-migration Phase 1 (568bb998d) declared this
2
+ // types: export but Phase 2 hasn't generated real declarations yet.
3
+ // Replace with real type declarations when Phase 2 lands.
4
+ export {};