@adia-ai/adia-ui-factory 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.mcp.json +1 -1
  3. package/CHANGELOG.md +5 -1
  4. package/package.json +2 -2
  5. package/skills/adia-ui-kit/assets/figma-make/guidelines/components.md +2 -2
  6. package/skills/adia-ui-kit/assets/team-scaffold/archive-README.md +2 -2
  7. package/skills/adia-ui-kit/assets/team-scaffold/drafts-README.md +1 -1
  8. package/skills/adia-ui-kit/assets/team-scaffold/inbox-README.md +3 -3
  9. package/skills/adia-ui-kit/assets/team-scaffold/outbox-README.md +2 -2
  10. package/skills/adia-ui-kit/assets/team-scaffold/team-root.README.md +2 -2
  11. package/skills/adia-ui-kit/assets/team-scaffold/tickets-README.md +5 -5
  12. package/skills/adia-ui-kit/assets/team-scaffold/tickets-REGISTRY.md +6 -6
  13. package/skills/adia-ui-kit/assets/templates/AGENTS.template.md +2 -2
  14. package/skills/adia-ui-kit/assets/templates/FEEDBACK.template.md +1 -1
  15. package/skills/adia-ui-kit/assets/templates/figma-make-guidelines.md +1 -1
  16. package/skills/adia-ui-kit/evals/adversarial-content-trust.json +1 -1
  17. package/skills/adia-ui-kit/evals/teach-routing-cases.json +1 -1
  18. package/skills/adia-ui-kit/references/capabilities.md +4 -4
  19. package/skills/adia-ui-kit/references/catalog-lookup.md +2 -2
  20. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v2.md +41 -41
  21. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v3.md +77 -77
  22. package/skills/adia-ui-kit/references/common-gotchas-consumer.md +3 -3
  23. package/skills/adia-ui-kit/references/css-policy.md +1 -1
  24. package/skills/adia-ui-kit/references/decision-model.md +3 -3
  25. package/skills/adia-ui-kit/references/docs-catalog.md +19 -19
  26. package/skills/adia-ui-kit/references/feedback-authoring.md +2 -2
  27. package/skills/adia-ui-kit/references/figma-make.md +4 -4
  28. package/skills/adia-ui-kit/references/flows-content.md +1 -1
  29. package/skills/adia-ui-kit/references/flows-interaction.md +2 -2
  30. package/skills/adia-ui-kit/references/flows-shells.md +1 -1
  31. package/skills/adia-ui-kit/references/loading-protocol.md +25 -25
  32. package/skills/adia-ui-kit/references/migration.md +3 -3
  33. package/skills/adia-ui-kit/references/mission.md +2 -2
  34. package/skills/adia-ui-kit/references/mode-routing.md +4 -4
  35. package/skills/adia-ui-kit/references/patterns-data.md +1 -2
  36. package/skills/adia-ui-kit/references/patterns-layout.md +5 -5
  37. package/skills/adia-ui-kit/references/patterns-recipes.md +3 -3
  38. package/skills/adia-ui-kit/references/recon.md +9 -9
  39. package/skills/adia-ui-kit/references/response-authoring.md +2 -2
  40. package/skills/adia-ui-kit/references/session-log-schema.md +1 -1
  41. package/skills/adia-ui-kit/references/setup.md +1 -1
  42. package/skills/adia-ui-kit/references/spec-to-ui-reasoning.md +22 -22
  43. package/skills/adia-ui-kit/references/teach-protocol.md +11 -11
  44. package/skills/adia-ui-kit/scripts/audit-kit-roster.mjs +1 -1
  45. package/skills/adia-ui-migration/CHANGELOG.md +1 -1
  46. package/skills/adia-ui-migration/SKILL.md +4 -4
@@ -6,13 +6,13 @@
6
6
 
7
7
  **MINOR** — Phase 2 of the REFACTOR-SPEC refactor (v2.28.0 → v3.0.0). Bundles the two substrate audit scripts (`audit-native-primitive-leak.mjs` + `audit-shell-composition.mjs`) into the kit with portable path resolution, adds a kit-focused routing corpus, and ships a portable `run-skill-evals.mjs` runner. The Mode 1–4 verify step is now genuinely portable — consumers can `cd <their-repo>; node /path/to/kit/scripts/audit-shell-composition.mjs` without depending on the chat-ui substrate.
8
8
 
9
- Closes spec P1 (M3 — verify-step portability) + P3 (M1 — routing accuracy portability). Tracked in `docs/REFACTOR-PROGRESS.md`.
9
+ Closes spec P1 (M3 — verify-step portability) + P3 (M1 — routing accuracy portability). Tracked in `.claude/docs/REFACTOR-PROGRESS.md`.
10
10
 
11
11
  ### What landed
12
12
 
13
13
  - **`scripts/audit-native-primitive-leak.mjs`** (NEW, ~330 lines) — bundled copy of the substrate script. Path resolution rewritten: `REPO_ROOT = process.cwd()` by default, override via `--root=<path>`. Substrate copy at `scripts/dev/audit-native-primitive-leak.mjs` remains the canonical source for behavioral logic; the bundled copy adds only path portability. Header notes the bundled-copy convention.
14
14
  - **`scripts/audit-shell-composition.mjs`** (NEW, ~635 lines) — same treatment. Catches the FEEDBACK-41 cluster (missing `<admin-statusbar>`, `[data-spacer]`, `[data-actions]`, etc.) regardless of which repo it's run from.
15
- - **`evals/routing-corpus.json`** (NEW) — kit-focused routing corpus with **10 trigger phrases** (canonical composition tasks the kit SHOULD activate on) + **5 adversarial phrases** (authoring-NEG, release-NEG, a2ui-NEG, bare-framework, bare-verb). Meets spec P3 minimums (≥10 trigger + ≥5 adversarial, ≥33% adversarial fraction).
15
+ - **`../../evals/routing-corpus.json`** (NEW) — kit-focused routing corpus with **10 trigger phrases** (canonical composition tasks the kit SHOULD activate on) + **5 adversarial phrases** (authoring-NEG, release-NEG, a2ui-NEG, bare-framework, bare-verb). Meets spec P3 minimums (≥10 trigger + ≥5 adversarial, ≥33% adversarial fraction).
16
16
  - **`scripts/run-skill-evals.mjs`** (NEW, ~310 lines) — portable eval runner. Three modes: (1) routing eval against `routing-corpus.json` (emits F1 + TP/FP/FN/TN; uses TF-IDF-style token-overlap compatible with substrate scorer); (2) behavioral structural count of `evals.json`; (3) adversarial structural count of `adversarial-content-trust.json`. Auto-detects substrate-vs-standalone mode. Accepts `--kit-dir=<path>` so consumer repos can invoke it via `node ./node_modules/adia-ui-kit/scripts/run-skill-evals.mjs --kit-dir=./node_modules/adia-ui-kit`. The counter-proposal from Phase 1 (consumer-repo CI compatibility) is landed.
17
17
  - **SKILL.md verify-target table** — Mode 1–4 row now cites `.agents/skills/adia-ui-kit/scripts/audit-*.mjs` (the bundled paths) instead of substrate-only `scripts/dev/audit-*.mjs`. Notes the v2.30.0+ bundled-copy + portability.
18
18
  - **`skill.json files` manifest** — 4 new entries (3 scripts + routing-corpus); 47/47 on-disk parity preserved.
@@ -44,20 +44,20 @@ Closes spec P1 (M3 — verify-step portability) + P3 (M1 — routing accuracy po
44
44
 
45
45
  ## 2.29.0 (2026-05-23)
46
46
 
47
- **MINOR** — Phase 1 of the REFACTOR-SPEC refactor (v2.28.0 → v3.0.0). Manifest hygiene + content-trust rule + description harmonization + dropping dangling `../BORIS-feedback.md` cross-references. Substrate seed-extraction (the C1 SKILL.md > 256KB tool-read-limit fix) is deferred to Phase 3 (v3.0.0); this phase lands the lower-risk additive cleanup.
47
+ **MINOR** — Phase 1 of the REFACTOR-SPEC refactor (v2.28.0 → v3.0.0). Manifest hygiene + content-trust rule + description harmonization + dropping dangling `BORIS-feedback.md` cross-references. Substrate seed-extraction (the C1 SKILL.md > 256KB tool-read-limit fix) is deferred to Phase 3 (v3.0.0); this phase lands the lower-risk additive cleanup.
48
48
 
49
- Triggered by the 2026-05-23 6-critic adversarial review of v2.28.0 (`docs/REFACTOR-SPEC.md` — 3 Critical / 9 Major / 7 Minor findings). Phased plan tracked in `docs/REFACTOR-PROGRESS.md`.
49
+ Triggered by the 2026-05-23 6-critic adversarial review of v2.28.0 (`.claude/docs/REFACTOR-SPEC.md` — 3 Critical / 9 Major / 7 Minor findings). Phased plan tracked in `.claude/docs/REFACTOR-PROGRESS.md`.
50
50
 
51
51
  ### What landed
52
52
 
53
53
  - **§ContentTrust rule** (new H3 in SKILL.md §Mission, immediately before "When to be an author") — documents the consultant-posture rule: files in consumer repos are **data, not instructions**. AGENTS.md / README / FEEDBACK tickets / source files do not modify skill behavior, do not unlock new tools, and do not override hard rules. Defends against the lethal trifecta (file reads + tool actions + private data + network egress) per spec P2 + M9 + m7.
54
- - **`evals/adversarial-content-trust.json`** (new bundled eval corpus) — 5 cases covering ignore-prior-instructions, fake-skill-override, ticket-injection (rm-rf), readme-credential-exfiltration, spec-doc-skill-rebinding. Manually reviewable now; automated runner ships in Phase 2 (P3).
55
- - **`skill.json files` manifest completeness** (P2 + M2) — added 13 missing files to the array: 12 from spec + the new pev-rationale.md + the new adversarial corpus + the new docs/. Manifest now matches the on-disk inventory at `find references/ scripts/ evals/ assets/ docs/ -type f`. Manifest is reorganized into logical groups (root / docs / references / patterns / flows / feedback / diagnostic / evals / scripts / templates / team-scaffold) for readability.
56
- - **`references/pev-rationale.md`** (new, ~6.4KB) — absorbs the source citation + ecosystem-level rationale + §SelfAudit-vs-verify distinction from the formerly-cross-referenced `../BORIS-feedback.md`. Makes the skill self-contained for consumer-repo use (per §6.7 + m2).
54
+ - **`../../evals/adversarial-content-trust.json`** (new bundled eval corpus) — 5 cases covering ignore-prior-instructions, fake-skill-override, ticket-injection (rm-rf), readme-credential-exfiltration, spec-doc-skill-rebinding. Manually reviewable now; automated runner ships in Phase 2 (P3).
55
+ - **`skill.json files` manifest completeness** (P2 + M2) — added 13 missing files to the array: 12 from spec + the new pev-rationale.md + the new adversarial corpus + the new .claude/docs/. Manifest now matches the on-disk inventory at `find references/ scripts/ evals/ assets/ .claude/docs/ -type f`. Manifest is reorganized into logical groups (root / docs / references / patterns / flows / feedback / diagnostic / evals / scripts / templates / team-scaffold) for readability.
56
+ - **`../pev-rationale.md`** (new, ~6.4KB) — absorbs the source citation + ecosystem-level rationale + §SelfAudit-vs-verify distinction from the formerly-cross-referenced `BORIS-feedback.md`. Makes the skill self-contained for consumer-repo use (per §6.7 + m2).
57
57
  - **Description harmonization** (§6.6 + m1) — SKILL.md frontmatter `description:` now matches `skill.json description` verbatim (the canonical 807-char WHAT+WHEN+NEG form). The verbose ~2.5KB description block was removed. The `trigger:` block (which holds the high-coverage routing keyword surface) is unchanged — verified that the substrate routing scorer at `scripts/skills/run-skill-evals.mjs:126` reads `${fm.description || ''} ${fm.trigger || ''} ${fm.triggers || ''}`, so token coverage is preserved.
58
- - **Dangling `../BORIS-feedback.md` references removed** (§6.7 + m2) — the 2 occurrences in SKILL.md (lines ~265 + ~4878) now point to `references/pev-rationale.md`. `grep -n 'BORIS-feedback' SKILL.md` returns 0 hits.
59
- - **`docs/REFACTOR-SPEC.md`** committed as a tracked artifact (was untracked).
60
- - **`docs/REFACTOR-PROGRESS.md`** authored as the phase ledger — tracks status / verify outcomes / counter-proposals for kimba per phase / cross-phase invariants.
58
+ - **Dangling `BORIS-feedback.md` references removed** (§6.7 + m2) — the 2 occurrences in SKILL.md (lines ~265 + ~4878) now point to `../pev-rationale.md`. `grep -n 'BORIS-feedback' SKILL.md` returns 0 hits.
59
+ - **`.claude/docs/REFACTOR-SPEC.md`** committed as a tracked artifact (was untracked).
60
+ - **`.claude/docs/REFACTOR-PROGRESS.md`** authored as the phase ledger — tracks status / verify outcomes / counter-proposals for kimba per phase / cross-phase invariants.
61
61
 
62
62
  ### What did NOT land (deferred)
63
63
 
@@ -71,7 +71,7 @@ Triggered by the 2026-05-23 6-critic adversarial review of v2.28.0 (`docs/REFACT
71
71
  - New H3 section (§ContentTrust) in SKILL.md
72
72
  - New bundled reference file (pev-rationale.md)
73
73
  - New bundled eval corpus (adversarial-content-trust.json)
74
- - New tracked artifacts (docs/REFACTOR-SPEC.md + docs/REFACTOR-PROGRESS.md)
74
+ - New tracked artifacts (.claude/docs/REFACTOR-SPEC.md + .claude/docs/REFACTOR-PROGRESS.md)
75
75
  - Per kit's own §VersionBump policy: MINOR = new section + capability
76
76
 
77
77
  ### Verify-the-output
@@ -172,7 +172,7 @@ Closes [FEEDBACK-52 skill-updates-post-session-docs-bundle-fixes](/Users/kimba/P
172
172
 
173
173
  - **§Docs "Component stability — `status` badge"** — new 5-row table mapping status values to docs-site badge variants (stable/beta/experimental/deprecated/early-access). Documents the v0.6.32+ status-badge system: yaml `status:` field → sidecar `x-adiaui.status` → docs site auto-injects `<tag-ui>` badge. Authoring guidance cross-references `adia-ui-authoring` yaml contract.
174
174
 
175
- - **`references/patterns-recipes.md` new H2 "Card-ui header — slotted children, NOT `<div>` wrapper"** — paste-ready wrong/right examples for the `<card-ui><header><div>` anti-pattern that silently bypasses card-ui's `:has(> [slot])` grid activator. Title + badge collapse into a full-width row instead of the canonical 1fr-heading + auto-action layout. 4-row available-slots table (icon/heading/description/action). CSS mechanism cited for archeology. Detection is manual (visual); see dogfood-sweep §Component Anatomy + Card Header Sweep for the static-grep probe.
175
+ - **`../patterns-recipes.md` new H2 "Card-ui header — slotted children, NOT `<div>` wrapper"** — paste-ready wrong/right examples for the `<card-ui><header><div>` anti-pattern that silently bypasses card-ui's `:has(> [slot])` grid activator. Title + badge collapse into a full-width row instead of the canonical 1fr-heading + auto-action layout. 4-row available-slots table (icon/heading/description/action). CSS mechanism cited for archeology. Detection is manual (visual); see dogfood-sweep §Component Anatomy + Card Header Sweep for the static-grep probe.
176
176
 
177
177
  ### Diagnosis from the ticket
178
178
 
@@ -192,7 +192,7 @@ All three cases are kit-recipe gaps — the substrate had either already fixed t
192
192
 
193
193
  ## 2.27.2 (2026-05-23)
194
194
 
195
- **PATCH** — `references/patterns-data.md` §Row-Click → Detail Drawer: add editable-drawer-field recipe + `stat-ui` substitution anti-pattern (FEEDBACK-01 from claims-ui-v9 2026-05-23).
195
+ **PATCH** — `../patterns-data.md` §Row-Click → Detail Drawer: add editable-drawer-field recipe + `stat-ui` substitution anti-pattern (FEEDBACK-01 from claims-ui-v9 2026-05-23).
196
196
 
197
197
  Closes [FEEDBACK-50 drawer-composition-recipe-gap](/Users/kimba/Projects/chat-ui/.agents/team/tickets/inbound/archive/FEEDBACK-50--claims-ui-v9--drawer-composition-recipe-gap--2026-05-23.md). Triage verdict: pure recipe gap; NO substrate/packages work needed (the underlying primitives — `input-ui`, `field-ui`, `stat-ui` — all work as designed and have accurate yaml descriptions; the canonical exemplar `packages/web-components/patterns/form-drawer/form-drawer.examples.html` already exists and uses `<field-ui>` 17 times). The skill recipe was the bottleneck.
198
198
 
@@ -223,13 +223,13 @@ Both failures trace to a single root cause: the kit's drawer recipe showed only
223
223
  - `check:skills:strict` → 5/5 senior, 0 P-failures, 0 broken-section-references
224
224
  - `routing-eval --strict` → 96.7% (corpus untouched)
225
225
  - `audit:skill-hygiene` → kit at ~257K (still over 250K warn threshold; +1.4K from this PATCH)
226
- - The new recipe content is self-contained in `references/patterns-data.md` §Row-Click → Detail Drawer; no main SKILL.md body changes (PATCH discipline — additive content in reference file, no §-section restructuring).
226
+ - The new recipe content is self-contained in `../patterns-data.md` §Row-Click → Detail Drawer; no main SKILL.md body changes (PATCH discipline — additive content in reference file, no §-section restructuring).
227
227
 
228
228
  ## 2.27.1 (2026-05-23)
229
229
 
230
230
  **PATCH** — Setup checklist: add pitfall for `@adia-ai/web-modules/shell/admin-shell` (per-component path) vs `@adia-ai/web-modules/shell` (cluster barrel).
231
231
 
232
- - **Where:** `references/setup.md` §Setup checklist — new bullet after the existing "per-cluster barrel, NOT full barrel" item.
232
+ - **Where:** `../setup.md` §Setup checklist — new bullet after the existing "per-cluster barrel, NOT full barrel" item.
233
233
  - **Triggers:** "sidebar toggle not working", "resize not working", "shell/admin-shell import", "AdminSidebar not registered"
234
234
  - **Replaces:** nothing — gap fill, not a correction of existing text.
235
235
 
@@ -243,7 +243,7 @@ Both failures trace to a single root cause: the kit's drawer recipe showed only
243
243
 
244
244
  **MINOR** — Canonical admin-shell reference drift fix (8 parts → 13 parts; `<menu-ui>` → `<select-ui avatar=…>`; native `<section>` → `<section-ui>`).
245
245
 
246
- User-surfaced drift: the consumer-prompt at `/tmp/claims-ui-consumer-prompt.md` cited `<menu-ui data-context-switcher>` + native `<section>` + a fictitious `<theme-picker-ui>` element. Comparison with the live docs site at `http://localhost:5174/site/examples/admin-dashboard` (which renders from `chat-ui:site/index.html`) showed every one of those tag choices was wrong. Root cause: the kit's own `references/patterns-recipes.md` was ambiguous — it named BOTH `<menu-ui>` and `<select-ui avatar=…>` as valid patterns and called native `<section>` "canonical per admin-shell.examples.html". The substrate's `admin-shell.examples.html` IS the v0.5.x form (uses menu-ui + native section); the live docs site migrated to select-ui + section-ui as the new canonical form, but the recipe didn't follow. My consumer prompt picked the wrong one because the recipe was non-committal.
246
+ User-surfaced drift: the consumer-prompt at `/tmp/claims-ui-consumer-prompt.md` cited `<menu-ui data-context-switcher>` + native `<section>` + a fictitious `<theme-picker-ui>` element. Comparison with the live docs site at `http://localhost:5174/site/examples/admin-dashboard` (which renders from `chat-ui:site/index.html`) showed every one of those tag choices was wrong. Root cause: the kit's own `../patterns-recipes.md` was ambiguous — it named BOTH `<menu-ui>` and `<select-ui avatar=…>` as valid patterns and called native `<section>` "canonical per admin-shell.examples.html". The substrate's `admin-shell.examples.html` IS the v0.5.x form (uses menu-ui + native section); the live docs site migrated to select-ui + section-ui as the new canonical form, but the recipe didn't follow. My consumer prompt picked the wrong one because the recipe was non-committal.
247
247
 
248
248
  **Resolution**: `chat-ui:site/index.html` declared the **single authoritative reference**. The recipe demotes menu-ui + native-section to legacy/deprecated alternatives. The skill's canonical part-list grows 8 → 13 to match site/index.html's actual structure. The audit script grows 9 → 20 probes (11 new info-level probes covering the previously-missing parts).
249
249
 
@@ -265,7 +265,7 @@ User-surfaced drift: the consumer-prompt at `/tmp/claims-ui-consumer-prompt.md`
265
265
 
266
266
  - **§LoadingProtocol pre-author bundle gate verification** — enumerate-the-13-parts list updated to match §Mission. Each part has its canonical primitive named + the wrong primitive called out. Note added: "as of v2.27.0 the recipe was corrected to align with site/index.html (it had previously been ambiguous)".
267
267
 
268
- - **`references/patterns-recipes.md` Advanced shell recipe** — 6 surgical patches: (1) high-level Advanced/Default/Simple table now names `<select-ui avatar>` not `<menu-ui>`; (2) context-switcher inline example uses `<select-ui avatar>` with the legacy `<menu-ui>` form moved to a "Legacy form" callout; (3) nav wrapper uses `<section-ui>` not native `<section>` with native form moved to legacy callout; (4) user-menu uses `<select-ui avatar>` with the menu-ui form preserved as commented-out legacy reference for downstream agents who need to recognize older code; (5) Simple-shell variant diff block updated to remove select-ui (not menu-ui) when stepping down; (6) admin-entity-item read-only identity section references `<select-ui>` not `<menu-ui>` as the interactive alternative.
268
+ - **`../patterns-recipes.md` Advanced shell recipe** — 6 surgical patches: (1) high-level Advanced/Default/Simple table now names `<select-ui avatar>` not `<menu-ui>`; (2) context-switcher inline example uses `<select-ui avatar>` with the legacy `<menu-ui>` form moved to a "Legacy form" callout; (3) nav wrapper uses `<section-ui>` not native `<section>` with native form moved to legacy callout; (4) user-menu uses `<select-ui avatar>` with the menu-ui form preserved as commented-out legacy reference for downstream agents who need to recognize older code; (5) Simple-shell variant diff block updated to remove select-ui (not menu-ui) when stepping down; (6) admin-entity-item read-only identity section references `<select-ui>` not `<menu-ui>` as the interactive alternative.
269
269
 
270
270
  - **dogfood-sweep `§ Admin-Shell Composition Audit` body** — 8 canonical parts → 13 canonical parts. Each commonly-missing part annotated with ★. Severity definitions updated: `warning` now includes "uses wrong primitive (e.g. `<menu-ui>` instead of `<select-ui>` for the context-switcher; native `<section>` instead of `<section-ui>` for the nav wrap)". Authoritative reference (`site/index.html` lines 42-120) named inline.
271
271
 
@@ -343,7 +343,7 @@ Three landings:
343
343
 
344
344
  - **§Recon Step 3** — strengthened from "note the declared range" to a 3-check sequence: (a) declared in package.json, (b) installed in node_modules, (c) imported in src/. Halt-condition explicit: if (c)>0 and (a) empty, the manifest is gapped — do not compose any further UI until the operator declares + installs.
345
345
  - **§GapDetection — new Gap class 0: Manifest gap (build-blocker)** before the existing 3 classes. Vite resolution fails at `npm run dev` on bare specifiers like `@adia-ai/web-components`. Error message ("Are they installed?") is misleading — they were never *declared*; `npm install` (no args) won't fix it. Remediation: `npm install <package>` with the matching reference shape from a known-good sibling consumer.
346
- - **`references/setup.md` Step 0** — pre-flight manifest gate. Authoring imports against an empty manifest creates source that won't start; surface the gap with the install command before that happens.
346
+ - **`../setup.md` Step 0** — pre-flight manifest gate. Authoring imports against an empty manifest creates source that won't start; surface the gap with the install command before that happens.
347
347
 
348
348
  **Anti-pattern caught:** authoring imports into `src/main.ts` in a freshly-scaffolded consumer repo before the operator has added `@adia-ai/*` to the package.json manifest. The next `npm run dev` halts with "could not be resolved" on bare specifiers — a build-blocker that the agent should detect before authoring, not after.
349
349
 
@@ -355,7 +355,7 @@ Tracks the BORIS plan-execute-verify discipline: verify the environment can run
355
355
 
356
356
  ## [Previously-unreleased pitfall, folded into 2.24.0]
357
357
 
358
- - **admin-shell display:block pitfall (§FB-04)** — `references/patterns-layout.md` §App Shell: added pitfall block. (Was staged under [Unreleased]; promoted with this MINOR cut.)
358
+ - **admin-shell display:block pitfall (§FB-04)** — `../patterns-layout.md` §App Shell: added pitfall block. (Was staged under [Unreleased]; promoted with this MINOR cut.)
359
359
 
360
360
  ## 2.23.1 (2026-05-22)
361
361
 
@@ -561,7 +561,7 @@ Three citation-strengthening edits:
561
561
  pointing at `VISION-extensibility.md` and naming sibling roll-ups
562
562
  (`adia-ui-release`, `adia-ui-authoring`) as the eventual second/third
563
563
  instantiations of the extensibility pattern.
564
- - `references/teach-protocol.md` gained an "Ecosystem context" line in
564
+ - `../teach-protocol.md` gained an "Ecosystem context" line in
565
565
  the provenance block, framing the file as the canonical template
566
566
  sibling roll-ups will copy when adopting §Teach.
567
567
  - The version bumps + this CHANGELOG entry.
@@ -622,7 +622,7 @@ patterns reference for cross-component recipes, a flows reference for
622
622
  end-to-end journeys, inline SKILL.md for methodology/posture shifts, a
623
623
  harness-manifest cross-link for tooling additions, §CorrectionLoop for
624
624
  FEEDBACK resolutions, or **NO landing in the skill** (arc stories
625
- belong in `docs/journal/`, not here).
625
+ belong in `.claude/docs/journal/`, not here).
626
626
 
627
627
  ### MINOR bump rationale
628
628
 
@@ -631,7 +631,7 @@ section + capability menu item + reference file = new procedural
631
631
  surface, not citation strengthening. Per §SkillHygiene discipline rule
632
632
  5 ("MINOR cuts ship new sections; PATCH cuts polish existing ones"),
633
633
  bundling this with v2.20.9's two recipe additions would have muddied
634
- the changelog narrative. Reference: `references/teach-protocol.md`'s
634
+ the changelog narrative. Reference: `../teach-protocol.md`'s
635
635
  own anti-pattern 5 ("don't bundle MINOR + PATCH in one cut") — the
636
636
  skill is dogfooding its own §Teach discipline.
637
637
 
@@ -645,7 +645,7 @@ keyword wiring. The total v2.21.0 picture across both commits:
645
645
 
646
646
  - **§Teach section in SKILL.md** (~89 lines, shipped in peer's
647
647
  `7ff9bcb74` 2026-05-22) — stub pointing to
648
- `references/teach-protocol.md`. Placed adjacent to §SkillHygiene
648
+ `../teach-protocol.md`. Placed adjacent to §SkillHygiene
649
649
  (the two are sibling disciplines — audit + train). Contains the
650
650
  30-second procedure summary, the load-bearing principle ("the skill
651
651
  is a CITATION layer, not a KNOWLEDGE layer"), and cross-references
@@ -657,14 +657,14 @@ keyword wiring. The total v2.21.0 picture across both commits:
657
657
  new knowledge — make adia-ui-kit aware of X → §Teach".
658
658
 
659
659
  - **Reference manifest row** (shipped in `7ff9bcb74`) —
660
- `references/teach-protocol.md` joins the manifest table with "full
660
+ `../teach-protocol.md` joins the manifest table with "full
661
661
  extract (v2.21.0)" tag.
662
662
 
663
- - **`references/teach-protocol.md`** (394 lines, shipped earlier in
663
+ - **`../teach-protocol.md`** (394 lines, shipped earlier in
664
664
  `3e831e898` as the option-3 carve-out) — the full procedural detail:
665
665
  seven-branch decision tree, five-step landing procedure, seven
666
666
  worked examples (A through G, including the **negative case G**
667
- where the correct landing is `docs/journal/`, NOT the skill), seven
667
+ where the correct landing is `.claude/docs/journal/`, NOT the skill), seven
668
668
  anti-patterns, and a quick-reference routing card.
669
669
 
670
670
  - **Trigger keywords** (this commit) — 12 phrases added to the
@@ -678,7 +678,7 @@ keyword wiring. The total v2.21.0 picture across both commits:
678
678
  activation surface even though the section + reference file exist.
679
679
 
680
680
  - **Version bumps** (this commit) — SKILL.md frontmatter 2.20.8 →
681
- 2.21.0, skill.json 2.20.9 → 2.21.0, plus `references/teach-protocol.md`
681
+ 2.21.0, skill.json 2.20.9 → 2.21.0, plus `../teach-protocol.md`
682
682
  added to the `files` array.
683
683
 
684
684
  - **CHANGELOG.md** (this commit) — this entry. Acknowledges peer's
@@ -769,7 +769,7 @@ landing protocol applied to its own creation. Walk-through:
769
769
  +1 triage table row, +1 reference manifest row, +1 trigger keyword
770
770
  cluster, version bump 2.20.8 → 2.21.0)
771
771
  - `skill.json` (version bump 2.20.9 → 2.21.0, +1 entry in files array)
772
- - `references/teach-protocol.md` (was shipped in `3e831e898` 2026-05-22)
772
+ - `../teach-protocol.md` (was shipped in `3e831e898` 2026-05-22)
773
773
  - `CHANGELOG.md` (this entry)
774
774
 
775
775
  ### Pairs with
@@ -825,7 +825,7 @@ breaking changes to existing recipes; this is purely additive.
825
825
 
826
826
  ### Files touched
827
827
 
828
- - `references/patterns-recipes.md` (+104 lines, 2 new recipes at end)
828
+ - `../patterns-recipes.md` (+104 lines, 2 new recipes at end)
829
829
  - `skill.json` version bump
830
830
  - `CHANGELOG.md` this entry
831
831
 
@@ -1137,7 +1137,7 @@ Chose Option A for this cut. Rationale:
1137
1137
  - Routing analysis preserved in the bundle's loading note for
1138
1138
  that future cut
1139
1139
 
1140
- THE NEW BUNDLE — `references/patterns-recipes.md` (35KB):
1140
+ THE NEW BUNDLE — `../patterns-recipes.md` (35KB):
1141
1141
  - Admin shell anatomy (→ future patterns-shells.md)
1142
1142
  - App-shell composition tiers — Advanced / Simple / Minimal
1143
1143
  - Data binding: REST endpoint → component (→ future patterns-wiring.md)
@@ -1158,7 +1158,7 @@ all-extract milestone.
1158
1158
  Stub left in SKILL.md teaches:
1159
1159
  - 1-paragraph summary of patterns vs flows axis
1160
1160
  - Visual reference + recipe-doc pointers (ui-kit.exe.xyz/site/pages/patterns/,
1161
- docs/guides/71-recipes.md, ui-kit.exe.xyz/site/modules/)
1161
+ .claude/docs/guides/71-recipes.md, ui-kit.exe.xyz/site/modules/)
1162
1162
  - Bundle map table (8 bundles, 'load when' column)
1163
1163
  - 'Skip if' disqualifier (end-to-end → §Flows; structural → §1+§2)
1164
1164
  - 'Pair with' axis explanation
@@ -2158,7 +2158,7 @@ slug-normalisation fix. Doc + tooling only — no substrate change.
2158
2158
  `<breadcrumb-ui slot="heading">`** (FB-19). Both composition examples
2159
2159
  corrected to the default slot, so the skill no longer demonstrates the
2160
2160
  anti-pattern it now warns against.
2161
- - **`scripts/ticket-tool.py` — `cmd_new` slug normalisation** (FB-21).
2161
+ - **`ticket-tool.py` — `cmd_new` slug normalisation** (FB-21).
2162
2162
  An uppercase character in a `--slug` value (e.g. `innerHTML`) produced
2163
2163
  a filename `FILENAME_RE` silently rejects, so `finalize` reported the
2164
2164
  draft as missing. `cmd_new` now lowercases the slug and collapses any
@@ -2459,7 +2459,7 @@ ADR-0031 landed the central inbound store at
2459
2459
  tooling were unwired — consumer projects had no way to route tickets
2460
2460
  there without manual `cp`. This version closes the loop:
2461
2461
 
2462
- - **`scripts/ticket-tool.py`** gained `ADIA_TICKETS_DIR` env-var
2462
+ - **`ticket-tool.py`** gained `ADIA_TICKETS_DIR` env-var
2463
2463
  support: when set, all subcommands operate against the central
2464
2464
  store regardless of which repo the CLI is invoked from. Resolution
2465
2465
  order: env var (central mode) → `find_repo_root() / TICKETS_REL`
@@ -2511,7 +2511,7 @@ there without manual `cp`. This version closes the loop:
2511
2511
  `files:` manifest (`AGENTS.template.md`, `CLAUDE.template.md`,
2512
2512
  `check-adia-versions.py`).
2513
2513
  - `CHANGELOG.md` — this entry.
2514
- - `scripts/ticket-tool.py` — `ADIA_TICKETS_DIR` env-var, resolve
2514
+ - `ticket-tool.py` — `ADIA_TICKETS_DIR` env-var, resolve
2515
2515
  helpers, regex widening, TicketPath.from_path sender_slug, scan
2516
2516
  list extension.
2517
2517
  - `assets/templates/AGENTS.template.md` — central-inbound workflow
@@ -2529,12 +2529,12 @@ mode unchanged.
2529
2529
  ```bash
2530
2530
  # Per-repo mode (back-compat unchanged):
2531
2531
  cd /Users/kimba/Projects/chat-ui
2532
- python3 .agents/skills/adia-ui-kit/scripts/ticket-tool.py next-id # → next NN
2532
+ ticket-tool.py next-id # → next NN (run from the skill's ticket-tool)
2533
2533
 
2534
2534
  # Central-store mode from a consumer repo:
2535
2535
  cd /Users/kimba/Projects/adia/claims-ui-v2
2536
2536
  ADIA_TICKETS_DIR=/Users/kimba/Projects/chat-ui/.agents/team/tickets \
2537
- python3 /Users/kimba/Projects/chat-ui/.agents/skills/adia-ui-kit/scripts/ticket-tool.py next-id
2537
+ ticket-tool.py next-id
2538
2538
  # → same NN as the chat-ui call (proves shared registry)
2539
2539
 
2540
2540
  # Smoke /with-css resolution:
@@ -3356,13 +3356,13 @@ This cut adopts it wholesale.
3356
3356
 
3357
3357
  ### New: vendored references
3358
3358
 
3359
- `references/feedback-authoring.md` — full procedural detail (457 lines)
3359
+ `../feedback-authoring.md` — full procedural detail (457 lines)
3360
3360
  vendored from color-app's `.agents/team/skills/feedback-authoring.md`.
3361
3361
  Five core principles + four-bucket classification + sniff tests +
3362
3362
  AdiaUI-specific pitfalls (the four-symptom binding contract, HTML
3363
3363
  comment apostrophes, Phosphor icon verification, Vite cache,
3364
3364
  Playwright gotchas).
3365
- `references/response-authoring.md` — companion (388 lines), full
3365
+ `../response-authoring.md` — companion (388 lines), full
3366
3366
  verdict taxonomy + procedure for reviewing FEEDBACK before submission
3367
3367
  + self-review pattern (write the RESPONSE you'd expect upstream to
3368
3368
  write, see if it rejects any claims).
@@ -3411,7 +3411,7 @@ This cut adopts it wholesale.
3411
3411
 
3412
3412
  ### Removed (v2.3.0 artifacts)
3413
3413
 
3414
- scripts/finalize-ticket.py (replaced by ticket-tool.py)
3414
+ finalize-ticket.py (replaced by ticket-tool.py)
3415
3415
  assets/draft-templates/ (replaced by assets/templates/)
3416
3416
  assets/team-readmes/ (replaced by assets/team-scaffold/)
3417
3417
 
@@ -3447,7 +3447,7 @@ This cut adopts it wholesale.
3447
3447
  front-matter contract), §AutoCapture (trigger taxonomy + negative
3448
3448
  triggers + mid-task UX), §FinalizeTicket (9-gate spec + script
3449
3449
  invocation patterns + revert procedure).
3450
- - **Add `scripts/finalize-ticket.py`** — Python implementation of the
3450
+ - **Add `finalize-ticket.py`** — Python implementation of the
3451
3451
  finalize command. Stdlib-only (no PyYAML dep). Three modes:
3452
3452
  `--list` (inventory drafts), `--check <slug>` (run gates dry-run),
3453
3453
  `<slug>` (run gates + promote). Updates `outbox/README.md` registry
@@ -3493,7 +3493,7 @@ This cut adopts it wholesale.
3493
3493
  rename, `0.0.20` and `0.4.0` largest breaks, `0.6.0`/`0.6.1` token
3494
3494
  renames, additive-only version spans) and **defers** to the canonical
3495
3495
  sources:
3496
- - `docs/MIGRATION GUIDE.md` for version-by-version BREAKING items + diffs.
3496
+ - `.claude/docs/MIGRATION GUIDE.md` for version-by-version BREAKING items + diffs.
3497
3497
  - The dedicated `adia-ui-migration` skill for the mechanical sweep.
3498
3498
  - ADR-0024 for the legacy-shell retirement contract decision.
3499
3499
  Includes an LLM directive forbidding inline migration-command pasting