@adia-ai/adia-ui-forge 0.8.57 → 0.8.58
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +31 -0
- package/README.md +2 -2
- package/__init__.py +1 -1
- package/package.json +2 -2
- package/plugin.yaml +1 -1
- package/scripts/lint-rules.generated.mjs +20666 -156
- package/skills/a2ui-maintenance/references/pipeline-overview.md +1 -1
- package/skills/demo-audit/references/admin-shell-anatomy.md +9 -1
- package/skills/demo-audit/references/app-shell-pitfalls.md +1 -1
- package/skills/package-release/references/cut-procedure.md +25 -0
- package/skills/package-release/scripts/gate-roster.mjs +8 -0
- package/skills/primitive-authoring/SKILL.md +5 -2
- package/skills/primitive-authoring/agents/openai.yaml +1 -1
- package/skills/primitive-authoring/references/anti-patterns.md +40 -0
- package/skills/primitive-authoring/references/css-patterns.md +12 -0
- package/skills/primitive-authoring/references/form-control-sizing.md +10 -0
- package/skills/primitive-authoring/references/shell-patterns.md +8 -1
- package/skills/primitive-authoring/references/token-contract.md +19 -1
- package/skills/primitive-authoring/references/yaml-contract.md +16 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adia-ui-kit-forge",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.58",
|
|
4
4
|
"description": "Maintain the adia-ui (@adia-ai) framework itself \u2014 author primitives and shells, run the A2UI generation pipeline and its corpus, review gen-UI quality, sweep QA, cut releases, deploy. The maintainer counterpart to adia-ui-kit-factory (the consumer/app-author plugin).",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Kim",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adia-ui-kit-forge",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.58",
|
|
4
4
|
"description": "Maintain the adia-ui (@adia-ai) framework itself — author primitives and shells, run the A2UI generation pipeline and its corpus, review gen-UI quality, sweep QA, cut releases, deploy. The maintainer counterpart to adia-ui-kit-factory (the consumer/app-author plugin).",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Kim",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog — adia-ui-kit-forge
|
|
2
2
|
|
|
3
|
+
## [0.8.58] — 2026-09-02
|
|
4
|
+
### Fixed
|
|
5
|
+
- **`forge-lint.mjs`'s PostToolUse hook gains a `timeout: 90` key (gh#2709), matching its Python siblings (`sidecar-prewrite-guard`, `release-pretag-docs-gate`) that already carry one.** Both `hooks.json` and the derived `adapters/claude/hooks.json` mirror updated.
|
|
6
|
+
- **ATTR-TYPO/LLM-KEY-IN-CLIENT/NATIVE-PRIMITIVE matcher hardening (gh#2708)**, propagated to this plugin's vendored `scripts/lint-rules.generated.mjs` via `npm run build:lint-rules`, byte-identical to the shared lint-rule bank, no change to `forge-lint`'s own hook contract.
|
|
7
|
+
- **`README.md`'s `site-postwrite-derivation-gate` hook description still described the retired site-a2ui fragment-staleness half ("docs-site pages must derive from their canonical source") after ADR-0072 Decision 2's active drain (gh#2410, #2665) removed that half of the hook, found by build-2692 during gh#2692/#2698, out of scope there (gh#2699).** Repointed at the hook's real remaining behavior: a `site/sitemap.json` edit must regenerate `site/llms.txt` and the patterns/templates index, the same two derived artifacts the hook's own `SITEMAP_REASON` message names (`scripts/site-postwrite-derivation-gate`, unchanged) and that #2698 itself regenerated.
|
|
8
|
+
|
|
9
|
+
### Docs
|
|
10
|
+
- **generated lint-rule bank refreshed (gh#2821, gh#2824)**: a full `npm run build:lint-rules` regen pass, run while rebasing the heatmap/noodles a11y fixes onto main, picked up `enum_meta` `tier`/`when` data already landed upstream (gh#2864) that this vendored copy hadn't caught up to yet; vendored copy byte-identical to the shared bank, no behavior change for this plugin's own `forge-lint.mjs`.
|
|
11
|
+
- **generated lint-rule bank refreshed (ADR-0108 D5, gh#2856)**: four new manifest-derived rules (`UNKNOWN-TAG`, `UNKNOWN-ATTR`, `ENUM-VALUE`, `INTERNAL-TIER`, `scripts/build/gen-lab-posture-rules.mjs`) generated into `scripts/lint/rules/generated/lab-posture/`; the bank's export list widened so a new lab-posture write-time hook (adia-ui-factory plugin) can import the same matcher functions (mechanics: repo-root CHANGELOG.md); vendored copy byte-identical to the shared bank, no behavior change for this plugin's own `forge-lint.mjs`.
|
|
12
|
+
- **`primitive-authoring/SKILL.md` gains the LLD-0018 R-6 checklist line (gh#2802).** A state or aria-behavior change on a yaml with a `component.md` sibling now points back at `component-md-authoring`'s authored `screenReader`/`behavioral` fields, the recommendation `component-md-authoring/SKILL.md` had carried since PR #2618 but that never landed on this skill's own side.
|
|
13
|
+
- **generated lint-rule bank refreshed (gh#2845)**: `gen-composition-rules.mjs`'s scan widened from `<dirname>.yaml` only to every `*.yaml` in a component directory, discovering 14 previously-missed child/sub-item yamls; composition-rule count 34 → 48 (mechanics: repo-root CHANGELOG.md); vendored copy byte-identical to the shared bank, no behavior change.
|
|
14
|
+
- **generated lint-rule bank refreshed (gh#2801)**: `gen-composition-rules.mjs`'s eligibility widened from 1 to 34 generated composition rules, decoupled from component.md pilot status (mechanics: repo-root CHANGELOG.md); vendored copy byte-identical to the shared bank, no behavior change.
|
|
15
|
+
- **generated lint-rule bank refreshed** by wave-5A component.md eligibility regen (lld-0018).
|
|
16
|
+
- **generated lint-rule bank refreshed** by wave-5B component.md eligibility regen (lld-0018).
|
|
17
|
+
- **generated lint-rule bank refreshed**: wave-1A component.md eligibility added 3 composition rules (accordion/action-list/choice-card, lld-0018).
|
|
18
|
+
- **`primitive-authoring` skill's description clarified to say "components" instead of "primitives" (ADR-0106, gh#2766).** The installed skill name and its `primitive-audit` cross-reference are deliberately NOT renamed (ADR-0106 Decision §4: rename cost across every cross-reference and derived multi-harness manifest exceeds the benefit; the charter already reads unambiguously in context). Codex (`agents/openai.yaml`) and the Python entry point (`__init__.py`) manifests regenerated via `npm run build:codex-manifests` + `npm run build:harness-manifests` to match.
|
|
19
|
+
- **Region-styling rule ratified (proposed) as ADR-0105 (gh#2761).** Region elements, native `<header>`/`<section>`/`<footer>` and `<header-ui>`/`<section-ui>`/`<footer-ui>` (a CSS-only slot-routing anatomy stub, no JS/events/`.css` of its own), never carry their own layout CSS; the closest host pattern's `@scope` (`page-ui`/`card-ui`/`drawer-ui`/`modal-ui`/`anchor-bar`/the shells) always owns it, and a new host accepting region children must ship its own `@scope` treatment before it ships (gh#2760 is the live counter-example: `page-ui`'s header band missing the tabs-in-action-cluster grid `admin-page-header` carried). Harvested into `primitive-authoring/references/css-patterns.md`'s new §Region elements never self-style, cross-referenced from `shell-patterns.md`. A lint gate for the "region element ships its own CSS" direction is named as feasible future work; the "host's `@scope` treatment is incomplete for a shape" direction is rejected as a lint-gate candidate (demo-audit visual coverage is the correct mitigation).
|
|
20
|
+
- **`package-release` cut-procedure gains the milestone close-out step (ADR-0103, gh#2729).** `cut-procedure.md` now instructs closing the release's GitHub Milestone and opening the next one at cut time, matching the planning-surfaces contract (`scripts/verify/check-planning-surfaces.mjs`, advisory).
|
|
21
|
+
- **ADR knowledge-harvest batch (0095, 0098) applied to reference docs.** `primitive-authoring/references/form-control-sizing.md` gains a dated amendment note (2026-08-31, gh#2534, ADR-0095) scoping the square-minimum rule to a primitive's own outer inline-size floor, never an internal grid-column token like `--field-label-inline-min`. `demo-audit/references/{admin-shell-anatomy,app-shell-pitfalls}.md` and `primitive-authoring/references/shell-patterns.md` gain dated deprecation notes (ADR-0098) pointing the `admin-page` family and `admin-scroll` at their successors, `page-ui[band]` and `page-scroll`. adr-0097/adr-0056/adr-0059 candidates verified already satisfied by #2580.
|
|
22
|
+
- **ADR hygiene + harvest batch 2 (2026-09-01): adr-0100 id collision resolved, adr-0101 ratified, adr-0100 badge-weight harvested.** decision-watcher's 2026-09-01T13:51:25Z firing found two `docs/ops/adr/` files both declaring `id: adr-0100` (`adr-0100-badge-weight-exemption.md`, accepted, and `adr-0100-text-ui-level-prop-native-heading-promotion.md`, proposed), `adr_checkpoint.py`'s dict-keyed scan silently dropped the accepted badge-weight content. The proposed text-ui-level file is renumbered `adr-0102` (frontmatter, filename, and every inbound reference: `lld-0017`, three `CHANGELOG.md` files, `renderer.js` comments, `text-level-tag.test.js`) and flipped `accepted`/`ratified: 2026-09-01` (shipped via gh#2683/PR #2685). `adr-0101-inspector-ui-keeps-preview-ui-tab-chrome.md` flips `proposed` → `accepted`, normalizing its nonstandard `ratified-by` field to this corpus's `ratified: 2026-09-01` convention (Kim's ruling + PR #2682). `adr-0084`'s locked body still read "Recommended for ratification, not yet ratified" despite an `accepted` frontmatter, a dated status-update note is appended (T4-compliant, the stale sentence itself untouched) citing PR #2694. Harvested: `primitive-authoring/references/token-contract.md`'s §11 exemption list gains `badge-ui[weight]` → `icon-ui[weight]`, ADR-0100 (the badge-weight file, which keeps its id).
|
|
23
|
+
- **ADR harvest batch 3 (adr-0102, adr-0101).** `primitive-authoring/references/yaml-contract.md` gains a dated subsection (2026-09-01) documenting `text-ui[level]` as the worked example of a component-scoped (non-`CatalogComponentCommon`) prop, including the `0 = off` sentinel-default convention it shares with `lines: 0`. `primitive-authoring/references/token-contract.md` gains a dated note on why a `@scope` donor selector must stay tag-independent (`@scope (text-ui, [data-text])`) once a component can promote its own rendered tag, citing ADR-0102's `text-ui`/`toc-ui` fix. `primitive-authoring/references/anti-patterns.md` gains AP-R2, the mirror-don't-fold precedent from ADR-0101 (`inspector-ui`/`preview-ui`): two widgets converging visually but differing in content model get a CSS-mirrored chrome treatment, never a premature shared-module extraction.
|
|
24
|
+
|
|
25
|
+
### Chore
|
|
26
|
+
- **`package-release`'s pre-cut roster gains gates 34/35, `check:yaml-events` and `check:yaml-impl-coverage` (gh#2829).** gh#2808/PR #2815 (ADR-0108 ticket 3) promoted both scripts into `npm run check` but deliberately left the release pre-flight roster untouched, so a cut could still ship a yaml `events:` block that phantoms or misses a runtime dispatch, or a schema field with no implementation evidence, without either failing pre-flight. `gate-roster.mjs` (the single source) and `cut-procedure.md` §3.1 (its transcription) both updated; `cut-procedure.md` §3.1 also picked up gate 33 (`verify:patterns-index`), which had drifted out of the transcription independently. Root `AGENTS.md`'s release pre-flight gate count bumped 32 → 34 to match `GATE_ROSTER.length`.
|
|
27
|
+
- **Author email in `package.json` updated to `kim.granlund@adia.ai`** (was a stale personal address).
|
|
28
|
+
|
|
29
|
+
### Maintenance
|
|
30
|
+
- **`.claude-plugin/plugin.json` version bump** — moves in lockstep with package.json (the `/plugin update` cache key).
|
|
31
|
+
- **`.codex-plugin/` touched in this release window** (1 file(s), e.g. `.codex-plugin/plugin.json`) — carried by the entries above.
|
|
32
|
+
- **`skills/` touched in this release window** (13 file(s), e.g. `references/pipeline-overview.md`) — carried by the entries above.
|
|
33
|
+
|
|
3
34
|
## [0.8.57] — 2026-09-01
|
|
4
35
|
|
|
5
36
|
### Removed
|
package/README.md
CHANGED
|
@@ -43,8 +43,8 @@ artifacts) · `release-pretag-docs-gate` (PreToolUse: release-tagging Bash
|
|
|
43
43
|
calls need their docs gate) · `forge-lint` (PostToolUse advisory
|
|
44
44
|
authoring-smell repair loop) · `demo-postwrite-pattern-gate` (PostToolUse:
|
|
45
45
|
composite demos must cite a `Pattern source:`) · `site-postwrite-derivation-gate`
|
|
46
|
-
(PostToolUse:
|
|
47
|
-
ship `selftest` modes.
|
|
46
|
+
(PostToolUse: `site/sitemap.json` edits must regenerate `site/llms.txt` +
|
|
47
|
+
the patterns/templates index). All ship `selftest` modes.
|
|
48
48
|
|
|
49
49
|
## Commands
|
|
50
50
|
|
package/__init__.py
CHANGED
|
@@ -49,7 +49,7 @@ def register(ctx):
|
|
|
49
49
|
ctx.register_skill(
|
|
50
50
|
name="primitive-authoring",
|
|
51
51
|
path=Path(os.path.join(_HERE, "skills", "primitive-authoring", "SKILL.md")),
|
|
52
|
-
description="Author or modify AdiaUI framework source inside the monorepo —
|
|
52
|
+
description="Author or modify AdiaUI framework source inside the monorepo — components (packages/web-components), shells/composites (packages/web-modules), yaml SoTs, demos. Use to add a new component, fix a prop/slot/attribute/CSS variant, update a yaml, build or fix a shell (chat-shell, admin-shell, editor-shell — sidebar/pane/bespoke-tier composition), promote repeated inline content into a shared module, audit a component's four-axis contract/token usage/lifecycle for drift, or author a demo or examples.html. NOT for app screens (screen-composition), A2UI internals (a2ui-maintenance), @adia-ai/llm internals (llm-client-maintenance), or site/pages docs (site-docs-authoring).",
|
|
53
53
|
)
|
|
54
54
|
ctx.register_skill(
|
|
55
55
|
name="site-deployment",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/adia-ui-forge",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.58",
|
|
4
4
|
"description": "Maintain the adia-ui (@adia-ai) framework itself — author primitives and shells, run the A2UI generation pipeline and its corpus, review gen-UI quality, sweep QA, cut releases, deploy. The maintainer counterpart to adia-factory (the consumer/app-author plugin).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adia-ui",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Kim",
|
|
18
|
-
"email": "kim@
|
|
18
|
+
"email": "kim.granlund@adia.ai"
|
|
19
19
|
},
|
|
20
20
|
"bugs": {
|
|
21
21
|
"email": "kim.granlund@adia.ai"
|
package/plugin.yaml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
name: "adia-ui-kit-forge"
|
|
2
|
-
version: "0.8.
|
|
2
|
+
version: "0.8.58"
|
|
3
3
|
description: "Maintain the adia-ui (@adia-ai) framework itself — author primitives and shells, run the A2UI generation pipeline and its corpus, review gen-UI quality, sweep QA, cut releases, deploy. The maintainer counterpart to adia-ui-kit-factory (the consumer/app-author plugin)."
|
|
4
4
|
manifest_version: 1
|