@adia-ai/adia-ui-factory 0.2.2 → 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.
- package/.claude-plugin/plugin.json +12 -3
- package/.mcp.json +1 -1
- package/CHANGELOG.md +12 -0
- package/README.md +24 -1
- package/bin/adia-scaffold +93 -13
- package/package.json +1 -1
- package/references/shell-embed.md +10 -0
- package/references/spa-architecture.md +7 -0
- package/skills/adia-ui-kit/CHANGELOG.md +41 -0
- package/skills/adia-ui-kit/SKILL.md +442 -0
- package/skills/adia-ui-kit/assets/figma-make/guidelines/Guidelines.md +87 -0
- package/skills/adia-ui-kit/assets/figma-make/guidelines/components.md +142 -0
- package/skills/adia-ui-kit/assets/figma-make/guidelines/styles.md +118 -0
- package/skills/adia-ui-kit/assets/figma-make/guidelines/tokens.md +120 -0
- package/skills/adia-ui-kit/assets/team-scaffold/archive-README.md +30 -0
- package/skills/adia-ui-kit/assets/team-scaffold/drafts-README.md +57 -0
- package/skills/adia-ui-kit/assets/team-scaffold/inbox-README.md +76 -0
- package/skills/adia-ui-kit/assets/team-scaffold/outbox-README.md +46 -0
- package/skills/adia-ui-kit/assets/team-scaffold/team-root.README.md +51 -0
- package/skills/adia-ui-kit/assets/team-scaffold/tickets-README.md +208 -0
- package/skills/adia-ui-kit/assets/team-scaffold/tickets-REGISTRY.md +81 -0
- package/skills/adia-ui-kit/assets/templates/AGENTS.template.md +128 -0
- package/skills/adia-ui-kit/assets/templates/CLAUDE.template.md +1 -0
- package/skills/adia-ui-kit/assets/templates/FEEDBACK-OMISSIONS-DEFENSE.template.md +150 -0
- package/skills/adia-ui-kit/assets/templates/FEEDBACK.template.md +213 -0
- package/skills/adia-ui-kit/assets/templates/RESPONSE.template.md +114 -0
- package/skills/adia-ui-kit/assets/templates/figma-make-guidelines.md +90 -0
- package/skills/adia-ui-kit/evals/adversarial-content-trust.json +83 -0
- package/skills/adia-ui-kit/evals/evals.json +55 -0
- package/skills/adia-ui-kit/evals/routing-corpus.json +121 -0
- package/skills/adia-ui-kit/evals/teach-routing-cases.json +92 -0
- package/skills/adia-ui-kit/references/capabilities.md +245 -0
- package/skills/adia-ui-kit/references/catalog-lookup.md +186 -0
- package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v1.md +8 -0
- package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v2.md +3585 -0
- package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v3.md +1899 -0
- package/skills/adia-ui-kit/references/common-gotchas-consumer.md +522 -0
- package/skills/adia-ui-kit/references/component-literacy.md +291 -0
- package/skills/adia-ui-kit/references/composition.md +245 -0
- package/skills/adia-ui-kit/references/correction-loop.md +462 -0
- package/skills/adia-ui-kit/references/css-policy.md +343 -0
- package/skills/adia-ui-kit/references/decision-model.md +158 -0
- package/skills/adia-ui-kit/references/diagnostic-output.md +57 -0
- package/skills/adia-ui-kit/references/docs-catalog.md +239 -0
- package/skills/adia-ui-kit/references/exclusions.md +225 -0
- package/skills/adia-ui-kit/references/feedback-authoring.md +466 -0
- package/skills/adia-ui-kit/references/figma-make.md +244 -0
- package/skills/adia-ui-kit/references/flows-auth.md +307 -0
- package/skills/adia-ui-kit/references/flows-content.md +206 -0
- package/skills/adia-ui-kit/references/flows-data.md +348 -0
- package/skills/adia-ui-kit/references/flows-interaction.md +181 -0
- package/skills/adia-ui-kit/references/flows-shells.md +336 -0
- package/skills/adia-ui-kit/references/gap-detection.md +266 -0
- package/skills/adia-ui-kit/references/harness.md +284 -0
- package/skills/adia-ui-kit/references/loading-protocol.md +406 -0
- package/skills/adia-ui-kit/references/local-link.md +198 -0
- package/skills/adia-ui-kit/references/mcp.md +401 -0
- package/skills/adia-ui-kit/references/migration.md +116 -0
- package/skills/adia-ui-kit/references/mission.md +194 -0
- package/skills/adia-ui-kit/references/mode-routing.md +298 -0
- package/skills/adia-ui-kit/references/patterns-agent.md +223 -0
- package/skills/adia-ui-kit/references/patterns-data.md +1065 -0
- package/skills/adia-ui-kit/references/patterns-forms.md +223 -0
- package/skills/adia-ui-kit/references/patterns-layout.md +326 -0
- package/skills/adia-ui-kit/references/patterns-recipes.md +1416 -0
- package/skills/adia-ui-kit/references/patterns-shells.md +1097 -0
- package/skills/adia-ui-kit/references/patterns-traits.md +259 -0
- package/skills/adia-ui-kit/references/patterns-wiring.md +339 -0
- package/skills/adia-ui-kit/references/pev-rationale.md +137 -0
- package/skills/adia-ui-kit/references/reasoning-gate.md +146 -0
- package/skills/adia-ui-kit/references/reasoning-methodologies.md +112 -0
- package/skills/adia-ui-kit/references/recon.md +192 -0
- package/skills/adia-ui-kit/references/rendering-model.md +431 -0
- package/skills/adia-ui-kit/references/response-authoring.md +398 -0
- package/skills/adia-ui-kit/references/session-log-schema.md +203 -0
- package/skills/adia-ui-kit/references/session-log-template.md +118 -0
- package/skills/adia-ui-kit/references/setup.md +652 -0
- package/skills/adia-ui-kit/references/skill-hygiene.md +135 -0
- package/skills/adia-ui-kit/references/spec-to-ui-reasoning.md +394 -0
- package/skills/adia-ui-kit/references/state.md +229 -0
- package/skills/adia-ui-kit/references/teach-protocol.md +421 -0
- package/skills/adia-ui-kit/references/theme.md +142 -0
- package/skills/adia-ui-kit/references/version-check.md +69 -0
- package/skills/adia-ui-kit/scripts/audit-decision-trace.mjs +198 -0
- package/skills/adia-ui-kit/scripts/audit-kit-roster.mjs +366 -0
- package/skills/adia-ui-kit/scripts/changelog-archive.mjs +126 -0
- package/skills/adia-ui-kit/scripts/check-adia-versions.py +404 -0
- package/skills/adia-ui-kit/scripts/run-skill-evals.mjs +358 -0
- package/skills/adia-ui-kit/scripts/validate-session-log.mjs +242 -0
- package/skills/adia-ui-kit/skill.json +102 -0
- package/skills/adia-ui-migration/CHANGELOG.md +47 -0
- package/skills/adia-ui-migration/SKILL.md +381 -0
- package/skills/adia-ui-migration/skill.json +29 -0
- package/skills/adia-ui-spa/SKILL.md +1 -1
- package/skills/adia-ui-verify/SKILL.md +2 -2
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-catalog
|
|
3
|
+
load-when: When you need the canonical docs URLs: ui-kit.exe.xyz catalog, llms.txt index, per-component examples.html, ADR pointers, MCP server install pages
|
|
4
|
+
load-size-tokens: ~3,300
|
|
5
|
+
required-for:
|
|
6
|
+
- answering "where are the docs"
|
|
7
|
+
- component reference lookup
|
|
8
|
+
- live demo handoff
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# §Docs — Where the documentation lives
|
|
12
|
+
|
|
13
|
+
AdiaUI documentation is distributed across the repo, the live site, and
|
|
14
|
+
the per-component source. **When sources disagree, follow this trust
|
|
15
|
+
order** (matches `.claude/docs/guides/INDEX.md`):
|
|
16
|
+
|
|
17
|
+
1. **Component source** — `packages/web-components/components/<name>/`
|
|
18
|
+
2. **Architecture spec** — `.claude/docs/specs/package-architecture.md`
|
|
19
|
+
3. **Per-component demo pages** — `/site/pages/components/<name>.html`
|
|
20
|
+
4. **Schema pages** — `.claude/docs/guides/30-79*.md` (hand-written; may lag)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### URL manifest (machine-parseable)
|
|
24
|
+
|
|
25
|
+
Construct any AdiaUI documentation URL by substituting `<name>`. The LLM
|
|
26
|
+
should treat this as the canonical reference — **do not guess URLs**.
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
# Live site (ui-kit.exe.xyz) — current production deployment
|
|
30
|
+
live_site:
|
|
31
|
+
base: "https://ui-kit.exe.xyz"
|
|
32
|
+
routes:
|
|
33
|
+
component_demo: "/site/components/<name>" # e.g. /site/components/button
|
|
34
|
+
module_demo: "/site/modules/<name>" # e.g. /site/modules/admin-shell
|
|
35
|
+
guide: "/site/pages/guides/<slug>" # e.g. /site/pages/guides/10-tokens
|
|
36
|
+
pattern: "/site/pages/patterns/<slug>" # e.g. /site/pages/patterns/admin-dashboard
|
|
37
|
+
getting_started: "/site/pages/getting-started"
|
|
38
|
+
token_reference: "/site/pages/reference/tokens"
|
|
39
|
+
catalog_index: "/site/components"
|
|
40
|
+
|
|
41
|
+
# Repo paths (for local consumers + in-repo agents)
|
|
42
|
+
local:
|
|
43
|
+
component_yaml: "node_modules/@adia-ai/web-components/components/<name>/<name>.yaml"
|
|
44
|
+
component_a2ui: "node_modules/@adia-ai/web-components/components/<name>/<name>.a2ui.json"
|
|
45
|
+
component_types: "node_modules/@adia-ai/web-components/components/<name>/<name>.d.ts"
|
|
46
|
+
component_test: "node_modules/@adia-ai/web-components/components/<name>/<name>.test.js"
|
|
47
|
+
component_css: "node_modules/@adia-ai/web-components/components/<name>/<name>.css"
|
|
48
|
+
module_yaml: "node_modules/@adia-ai/web-modules/<cluster>/<name>/<name>.yaml"
|
|
49
|
+
package_readme: "node_modules/@adia-ai/<package>/README.md"
|
|
50
|
+
usage_doc: "node_modules/@adia-ai/web-components/USAGE.md"
|
|
51
|
+
|
|
52
|
+
# GitHub source (for in-repo and contributor agents)
|
|
53
|
+
github:
|
|
54
|
+
base: "https://github.com/adiahealth/gen-ui-kit"
|
|
55
|
+
routes:
|
|
56
|
+
component_dir: "/tree/main/packages/web-components/components/<name>"
|
|
57
|
+
component_examples: "/blob/main/packages/web-components/components/<name>/<name>.examples.html"
|
|
58
|
+
guide: "/blob/main/docs/guides/<file>"
|
|
59
|
+
spec: "/blob/main/docs/specs/<file>"
|
|
60
|
+
changelog: "/blob/main/packages/<package>/CHANGELOG.md"
|
|
61
|
+
issues: "/issues"
|
|
62
|
+
new_issue: "/issues/new"
|
|
63
|
+
|
|
64
|
+
# Cluster names (substitute for <cluster>)
|
|
65
|
+
clusters:
|
|
66
|
+
- shell # admin-shell + 10 admin-* children (sidebar, content, topbar, statusbar, scroll, page, page-header, page-body, command, entity-item)
|
|
67
|
+
- chat # chat-shell, chat-thread, chat-composer, chat-empty, chat-header, chat-sidebar, chat-status
|
|
68
|
+
- editor # editor-shell, editor-toolbar, editor-sidebar, editor-canvas, editor-canvas-empty, editor-canvas-toolbar, editor-statusbar
|
|
69
|
+
- simple # simple-shell, simple-hero, simple-content
|
|
70
|
+
- runtime # a2ui-root
|
|
71
|
+
- theme # theme-panel
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Validity check:** all routes above were audited 2026-05-19. If a URL
|
|
75
|
+
returns 404, the route may have moved — fall back to the GitHub source
|
|
76
|
+
or report it via `write ui-kit bug ticket`.
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
### Documentation map
|
|
80
|
+
|
|
81
|
+
| Surface | Path | What's there | Authoritative for |
|
|
82
|
+
|---|---|---|---|
|
|
83
|
+
| **Per-component yaml** | `node_modules/@adia-ai/web-components/components/<name>/<name>.yaml` | Props, slots, events, tokens, anti-patterns | Props/slots/events — always |
|
|
84
|
+
| **Per-component a2ui.json** | `<name>.a2ui.json` (generated from yaml) | A2UI JSON schema for the component | A2UI message shape |
|
|
85
|
+
| **Per-component examples** | `<name>.examples.html` (in-repo only) | Canonical HTML usage fragments | Real-world markup patterns — **NOT in npm** |
|
|
86
|
+
| **Per-component test** | `<name>.test.js` (ships in npm) | Vitest spec | Behavioral contract |
|
|
87
|
+
| **Live demo pages** | `https://ui-kit.exe.xyz/site/components/<name>` | Interactive rendered demos | Visual behavior |
|
|
88
|
+
| **Web-modules yaml** | `packages/web-modules/<cluster>/<name>/<name>.yaml` | Shell + composite specs (30 files) | Module-tier components |
|
|
89
|
+
| **Guides** | `.claude/docs/guides/` (22 files, numbered) | Hand-written narrative docs | Concepts + recipes |
|
|
90
|
+
| **Specs** | `.claude/docs/specs/` (31 files) | Architecture + system specs | System architecture |
|
|
91
|
+
| **Package READMEs** | `packages/<name>/README.md` | Per-package entry-point | Package surface |
|
|
92
|
+
| **Migration guide** | `.claude/docs/MIGRATION GUIDE.md` | Version-by-version upgrade notes | Version migration |
|
|
93
|
+
| **Browser compat** | `.claude/docs/BROWSER-COMPAT.md` | Supported browsers, polyfill baselines | Browser support |
|
|
94
|
+
| **Live docs site** | `https://ui-kit.exe.xyz/` | Production-deployed full site | Public reference |
|
|
95
|
+
|
|
96
|
+
### The numbered guides (`.claude/docs/guides/`)
|
|
97
|
+
|
|
98
|
+
The guides are organized by topic-prefix. Skim the INDEX first
|
|
99
|
+
(`.claude/docs/guides/INDEX.md`); then dive into specific files:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
01-introduction.md Project overview
|
|
103
|
+
02-quick-start.md External consumer cold-start (overlaps §Setup here)
|
|
104
|
+
03-architecture.md Layer model, signals/template/element split
|
|
105
|
+
|
|
106
|
+
10-tokens.md Parametric spacing, radius, shadows, sizing
|
|
107
|
+
11-colors.md OKLCH parametric color system
|
|
108
|
+
12-typography.md 13 type roles, productive/moderate/expressive modes
|
|
109
|
+
13-fields.md Field tokens (shared height, radius, colors)
|
|
110
|
+
14-accessibility.md Focus management, ARIA, keyboard nav
|
|
111
|
+
|
|
112
|
+
20-adia-element.md UIElement base class — reactive properties + lifecycle
|
|
113
|
+
21-adia-form-element.md UIFormElement — ElementInternals + form participation
|
|
114
|
+
22-css-patterns.md @scope, :where(:scope) tokens, slot selectors
|
|
115
|
+
23-authoring.md End-to-end guide to authoring a new component
|
|
116
|
+
|
|
117
|
+
70-theming.md Theming contract (named theme / scheme / density)
|
|
118
|
+
71-recipes.md Common composition recipes
|
|
119
|
+
72-admin-layout.md Admin shell composition patterns
|
|
120
|
+
|
|
121
|
+
80-llm-providers.md @adia-ai/llm package — providers + TypeScript
|
|
122
|
+
81-proxy-server.md packages/llm/server.js — dev proxy + production
|
|
123
|
+
82-vite-config.md Vite aliases, proxy, build config
|
|
124
|
+
|
|
125
|
+
91-token-reference.md Complete --a-* token catalog
|
|
126
|
+
92-naming.md Naming conventions
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### The key specs (`.claude/docs/specs/`)
|
|
130
|
+
|
|
131
|
+
For deep architecture questions, the specs are the authoritative
|
|
132
|
+
documents. Most consumers don't need these — they're for component
|
|
133
|
+
authors and integrators.
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
package-architecture.md Source of truth for monorepo layout
|
|
137
|
+
component-token-contract.md What --a-* tokens components may consume
|
|
138
|
+
component-implementation-patterns.md Patterns shared across components
|
|
139
|
+
component-yaml-contract.md The yaml schema each component must follow
|
|
140
|
+
traits.md The trait system (pressable, focusable, etc.)
|
|
141
|
+
typescript-first-substrate.md TS substrate spec (v0.6+ sealed)
|
|
142
|
+
semantic-validator.md A2UI semantic validation
|
|
143
|
+
genui-multiturn-architecture.md Multi-turn sessionId/state-cache model
|
|
144
|
+
theme-panel-module.md theme-panel composition + token swap
|
|
145
|
+
compose-constitution.md A2UI generation engine architecture
|
|
146
|
+
exe-dev-platform-reference.md Production deployment platform reference
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
INDEX at `.claude/docs/specs/INDEX.md`.
|
|
150
|
+
|
|
151
|
+
### Per-package READMEs
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
packages/web-components/README.md Light-DOM components overview
|
|
155
|
+
packages/web-components/USAGE.md In-depth usage patterns + framework guide
|
|
156
|
+
packages/web-modules/README.md Composite shells + clusters
|
|
157
|
+
packages/llm/README.md @adia-ai/llm package
|
|
158
|
+
packages/a2ui/runtime/README.md A2UI renderer + registry
|
|
159
|
+
packages/a2ui/compose/README.md Generation engines (monolithic, zettel)
|
|
160
|
+
packages/a2ui/mcp/README.md MCP server install + transports
|
|
161
|
+
packages/a2ui/corpus/README.md Pre-authored chunk + composition corpus
|
|
162
|
+
packages/a2ui/retrieval/README.md Domain router + pattern search
|
|
163
|
+
packages/a2ui/validator/README.md A2UI JSON validator
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Pattern recipe library (`references/` in this skill)
|
|
167
|
+
|
|
168
|
+
The `.agents/skills/adia-ui-kit/references/` directory ships seven
|
|
169
|
+
substantive pattern recipe books, ~2,300 lines total, covering composition
|
|
170
|
+
patterns more deeply than §Patterns / §Flows in this file:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
references/patterns-agent.md Agent/chat surfaces (gen-ui-chat, gen-ui-thread, gen-ui-canvas, gen-ui-inspector, pipeline-status)
|
|
174
|
+
references/patterns-data.md Tables, dashboards, charts, data-stream wiring, KPI grids — 722 lines, deepest recipes
|
|
175
|
+
references/patterns-forms.md Field anatomy, form layouts, validation, multi-step wizards
|
|
176
|
+
references/patterns-layout.md Grid, stack, page primitives, density modes
|
|
177
|
+
references/patterns-shells.md App shell, admin shell, editor shell, section-nav, route slot
|
|
178
|
+
references/patterns-traits.md Trait wiring, attaching behaviors declaratively
|
|
179
|
+
references/patterns-wiring.md A2UI JSON wiring, data binding patterns, registerResolver flows
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Read these when §Flows / §Patterns in this file is too brief — they go
|
|
183
|
+
deeper on shell APIs, composition recipes, and edge cases.
|
|
184
|
+
|
|
185
|
+
### Live site (`ui-kit.exe.xyz`)
|
|
186
|
+
|
|
187
|
+
The production deployment serves:
|
|
188
|
+
|
|
189
|
+
- **`/site/components/<name>`** — interactive demos with live rendering,
|
|
190
|
+
prop tables, accessibility notes, and source code
|
|
191
|
+
- **`/site/pages/getting-started/`** — onboarding flow
|
|
192
|
+
- **`/site/pages/guides/`** — rendered versions of `.claude/docs/guides/`
|
|
193
|
+
- **`/site/pages/patterns/`** — pattern gallery
|
|
194
|
+
- **`/site/pages/reference/`** — token + type reference
|
|
195
|
+
|
|
196
|
+
This is the most consumer-friendly entry point. Browse here first when
|
|
197
|
+
exploring; drop to source files for definitive answers.
|
|
198
|
+
|
|
199
|
+
### Discovery commands
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
# What components exist?
|
|
203
|
+
ls node_modules/@adia-ai/web-components/components/ | sort
|
|
204
|
+
|
|
205
|
+
# What does <name> accept?
|
|
206
|
+
cat node_modules/@adia-ai/web-components/components/<name>/<name>.yaml
|
|
207
|
+
|
|
208
|
+
# How is <name> used in real code?
|
|
209
|
+
cat node_modules/@adia-ai/web-components/components/<name>/<name>.examples.html
|
|
210
|
+
|
|
211
|
+
# Live demo (no install needed)
|
|
212
|
+
open https://ui-kit.exe.xyz/site/components/<name>
|
|
213
|
+
|
|
214
|
+
# Architecture deep-dive
|
|
215
|
+
cat node_modules/@adia-ai/web-components/USAGE.md | less
|
|
216
|
+
|
|
217
|
+
# Browse a topic
|
|
218
|
+
ls node_modules/@adia-ai/web-components/../../docs/guides/ | grep -i theme
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### When to read each surface
|
|
222
|
+
|
|
223
|
+
| Question | Where to look first |
|
|
224
|
+
|---|---|
|
|
225
|
+
| "What props does X accept?" | `<name>.yaml` |
|
|
226
|
+
| "What does X look like?" | `ui-kit.exe.xyz/site/components/<name>` |
|
|
227
|
+
| "How do I use X in real markup?" | `<name>.examples.html` |
|
|
228
|
+
| "How do I compose X and Y?" | `.claude/docs/guides/71-recipes.md` or §Patterns/§Flows here |
|
|
229
|
+
| "How do I author a new component?" | `.claude/docs/guides/23-authoring.md` |
|
|
230
|
+
| "What's the token system?" | `.claude/docs/guides/10-tokens.md` + `91-token-reference.md` |
|
|
231
|
+
| "How do I theme?" | `.claude/docs/guides/70-theming.md` or §Theme here |
|
|
232
|
+
| "How does the generation engine work?" | `.claude/docs/specs/compose-constitution.md` |
|
|
233
|
+
| "Why does X behave this way?" | `<name>.test.js` (behavioral contract) |
|
|
234
|
+
| "What changed in v0.6?" | `.claude/docs/MIGRATION GUIDE.md` |
|
|
235
|
+
| "What browsers are supported?" | `.claude/docs/BROWSER-COMPAT.md` |
|
|
236
|
+
| "How do I deploy the MCP server?" | `packages/a2ui/mcp/README.md` |
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
---
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exclusions
|
|
3
|
+
load-when: When defending why a feature ISN'T in the kit (or shouldn't be added). Documents the explicit exclusions + the rationale + when to escalate to substrate vs absorb into the kit
|
|
4
|
+
load-size-tokens: ~2,500
|
|
5
|
+
required-for:
|
|
6
|
+
- scope-creep defense
|
|
7
|
+
- absorption proposal triage
|
|
8
|
+
- Teach landing decisions
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Items deliberately NOT included (defending the exclusions)
|
|
12
|
+
|
|
13
|
+
To avoid duplicate filings, the following were considered and
|
|
14
|
+
explicitly left out. Each was verified against the installed
|
|
15
|
+
@adia-ai/web-components@<version> source where applicable.
|
|
16
|
+
|
|
17
|
+
- **<Item>** — already shipped. Verified at
|
|
18
|
+
`node_modules/@adia-ai/web-components/components/<name>/<name>.yaml:<line>`.
|
|
19
|
+
|
|
20
|
+
- **<Item>** — already exists with the exact shape needed. NOT
|
|
21
|
+
feedback — this is a **consumer-side dogfooding miss** captured
|
|
22
|
+
separately in `.adia-ui-kit/notes/<date>-miss.md`.
|
|
23
|
+
|
|
24
|
+
- **<Item>** — third-party tool issue (Vite cache stale). Workaround
|
|
25
|
+
is `rm -rf node_modules/.vite`. Listed in related-observations for
|
|
26
|
+
documentation benefit but not a code ask on this recipient.
|
|
27
|
+
|
|
28
|
+
- **<Item>** — speculative; no concrete pain-point yet. Filing
|
|
29
|
+
without a use-case would be P3 noise.
|
|
30
|
+
|
|
31
|
+
If any of the above is wrong or stale relative to a newer release,
|
|
32
|
+
please flag in the response.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Each exclusion must cite **either**:
|
|
36
|
+
- A specific file/line in the installed package that proves it's shipped, OR
|
|
37
|
+
- A CHANGELOG entry that resolved it, OR
|
|
38
|
+
- A `.adia-ui-kit/notes/` path where the issue is tracked elsewhere, OR
|
|
39
|
+
- An explicit statement that it's out of scope and why
|
|
40
|
+
|
|
41
|
+
**"Already shipped — trust me" is not acceptable. Cite or include.**
|
|
42
|
+
|
|
43
|
+
#### Step 6b — (Optional) Split exclusions into a companion file
|
|
44
|
+
|
|
45
|
+
If your exclusion list is **15+ items across 4+ rationale categories**,
|
|
46
|
+
or the ticket will face hostile leadership review, split the defense
|
|
47
|
+
block into a sibling file:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
.adia-ui-kit/tickets/
|
|
51
|
+
2026-05-19-feedback-<topic>.md # the asks
|
|
52
|
+
2026-05-19-feedback-<topic>-OMISSIONS.md # the exclusions, expanded
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Group omissions by **rationale category**, not by priority. Each
|
|
56
|
+
omission has:
|
|
57
|
+
- **Evidence tag** (uppercase: `VERIFIED IN SOURCE`, `RESOLVED IN v0.6.5`, `CONSUMER MISS`)
|
|
58
|
+
- **Defense paragraph** (1-3 sentences)
|
|
59
|
+
- **Confidence rating** (`High` / `Medium` / `Low`)
|
|
60
|
+
|
|
61
|
+
Cross-link the companion in the main ticket's front-matter:
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
references:
|
|
65
|
+
- "2026-05-19-feedback-<topic>-OMISSIONS"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
And in §6 of the main ticket, replace the bullet list with a one-line
|
|
69
|
+
pointer:
|
|
70
|
+
|
|
71
|
+
> Items considered and deliberately excluded are tracked in
|
|
72
|
+
> `2026-05-19-feedback-<topic>-OMISSIONS.md` — 15 omissions across 5
|
|
73
|
+
> rationale categories with verification anchor and confidence rating.
|
|
74
|
+
|
|
75
|
+
#### Step 7 — Cross-reference prior tickets
|
|
76
|
+
|
|
77
|
+
If this ticket relates to prior feedback you've filed, list them in
|
|
78
|
+
front-matter `references:` and call them out in the body:
|
|
79
|
+
|
|
80
|
+
- **Sibling tickets** — "Item §2 is related to ticket-XX `§N`"
|
|
81
|
+
- **Duplicates** — "Item §4 is the same ask as ticket-XX `§N`; can collapse"
|
|
82
|
+
- **Supersession** — "This obsoletes ticket-YY §M after the v0.6.5 fix"
|
|
83
|
+
|
|
84
|
+
#### Step 8 — Set front-matter correctly
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
---
|
|
88
|
+
id: "<NN>" # serial per recipient
|
|
89
|
+
type: feedback # feedback | bug | request
|
|
90
|
+
recipient: adia-ui
|
|
91
|
+
date: "YYYY-MM-DD"
|
|
92
|
+
author: "<role> (<session-context>)" # don't claim a human author
|
|
93
|
+
project: "<your project name>"
|
|
94
|
+
status: draft # draft until submitted
|
|
95
|
+
references:
|
|
96
|
+
- "<prior-ticket-id>" # every prior touchpoint
|
|
97
|
+
version: "@adia-ai/web-components@<X.Y.Z>" # version verified against
|
|
98
|
+
priority: p0 # highest priority in the doc
|
|
99
|
+
---
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
`status: draft` is the starting point. Only the user (or an explicit
|
|
103
|
+
submit instruction) should bump to `submitted`.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### Sniff tests before sending
|
|
108
|
+
|
|
109
|
+
Walk each one before declaring the ticket ready:
|
|
110
|
+
|
|
111
|
+
1. **Reproduction test:** Can a stranger paste your repro code into a
|
|
112
|
+
fresh project and see the symptom? If not, P0/P1 status is wrong.
|
|
113
|
+
|
|
114
|
+
2. **Exclusion test:** Pick one item from "Items deliberately NOT
|
|
115
|
+
included." Can you defend it in 30 seconds with a file path?
|
|
116
|
+
|
|
117
|
+
3. **Cost test:** Can the recipient roughly estimate their effort
|
|
118
|
+
from your cost block? "Medium — new component + tests + a2ui
|
|
119
|
+
example" is good. "Some work" is not.
|
|
120
|
+
|
|
121
|
+
4. **Duplicate test:** Have you searched `.adia-ui-kit/tickets/` for
|
|
122
|
+
keywords overlapping your asks? If matches exist, cross-reference
|
|
123
|
+
or remove your duplicate.
|
|
124
|
+
|
|
125
|
+
5. **Scope test:** Is any item really a third-party tool issue or a
|
|
126
|
+
consumer-side miss? If yes, move it out of the feedback ticket.
|
|
127
|
+
|
|
128
|
+
6. **Pre-mortem test:** If your team lead asks "why did you ship this
|
|
129
|
+
and not item X?" — do you have an answer? If "I didn't think of X"
|
|
130
|
+
is the honest answer, X probably belongs in the doc.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Pitfalls (verify before filing)
|
|
135
|
+
|
|
136
|
+
**Common AdiaUI false alarms** — verify these are real bugs before filing:
|
|
137
|
+
|
|
138
|
+
- **Binding contract** — `*-ui` form controls and template re-renders
|
|
139
|
+
share a contract that surfaces as ~4 symptoms but is ONE root cause:
|
|
140
|
+
1. `.value=${() => x.value}` (getter function) silently fails on
|
|
141
|
+
`slider-ui` / `switch-ui`. Use `.value=${x.value}` (direct expression).
|
|
142
|
+
2. `style="background:${v}"` renders literal `style="background:{{p:0}}"`.
|
|
143
|
+
Use `style="${precomputed}"` (whole-attribute) or `.style=${expr}`.
|
|
144
|
+
3. Template doesn't re-render when a signal changes inside a nested
|
|
145
|
+
callback. Cause: the *template function itself* never read the signal.
|
|
146
|
+
Read every dependency at the top: `const _doc = doc.value; void _doc`.
|
|
147
|
+
4. `OKLCHColor.h = NaN` → `#NaNNaNNaN` → `<input type="color">`
|
|
148
|
+
console-flood. Sanitize at the conversion boundary, not the binding.
|
|
149
|
+
|
|
150
|
+
Symptoms 1-3 are documented in USAGE.md `property-binding-patterns` section.
|
|
151
|
+
Symptom 4 is a consumer bug. **Run a Playwright probe before filing
|
|
152
|
+
any of these as a framework bug.**
|
|
153
|
+
|
|
154
|
+
- **Phosphor icon name verification is non-optional.** `<icon-ui name="X">`
|
|
155
|
+
warns at runtime if `X` doesn't exist. Common mistakes: `plus` (use
|
|
156
|
+
`plus-circle`), `arrows-counter-clockwise` (singular: `arrow-counter-clockwise`).
|
|
157
|
+
Verify with `ls node_modules/@phosphor-icons/core/assets/regular/ | grep <pattern>`
|
|
158
|
+
before claiming a registry gap.
|
|
159
|
+
|
|
160
|
+
- **Vite CSS cache is real and silent.** CSS edits not reaching the
|
|
161
|
+
browser? Symptom: file on disk differs from `curl http://localhost:5173/src/style.css`.
|
|
162
|
+
Fix: `rm -rf node_modules/.vite && pkill -f vite && npm run dev`.
|
|
163
|
+
NOT an AdiaUI bug.
|
|
164
|
+
|
|
165
|
+
- **Don't conflate "I didn't find it" with "it doesn't exist."**
|
|
166
|
+
Before claiming a feature is missing, grep the installed package source
|
|
167
|
+
AND the yaml, a2ui.json, USAGE.md. Use the §Docs URL manifest to find
|
|
168
|
+
documentation.
|
|
169
|
+
|
|
170
|
+
- **Don't file separate tickets for the same root cause.** Slider
|
|
171
|
+
getter-function, signal-binding stuckness, partial-attr interpolation
|
|
172
|
+
all stem from "template re-runs only on direct signal reads." File
|
|
173
|
+
ONE root-cause ticket with N symptoms.
|
|
174
|
+
|
|
175
|
+
- **Don't file workaround-as-bug if USAGE.md prescribes the workaround.**
|
|
176
|
+
USAGE.md `property-binding-patterns` section documents `.foo=${expr}` for
|
|
177
|
+
property binding; `foo="${expr}"` failing is documented behavior, not
|
|
178
|
+
a bug.
|
|
179
|
+
|
|
180
|
+
- **Lockstep PATCH releases are common.** AdiaUI ships PATCH bumps with
|
|
181
|
+
no source change (lockstep version cuts). Before claiming a fix
|
|
182
|
+
"should have shipped in vX," check `git log` between cuts. Don't file
|
|
183
|
+
a regression for an issue resolved in the prior MINOR.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### Final ticket location + delivery
|
|
188
|
+
|
|
189
|
+
**Output path:** `.adia-ui-kit/tickets/<YYYY-MM-DD>-<type>-<slug>.md`
|
|
190
|
+
|
|
191
|
+
Where `<type>` is one of `bug`, `feature`, `feedback`.
|
|
192
|
+
|
|
193
|
+
**Deliver via:**
|
|
194
|
+
|
|
195
|
+
1. **GitHub issue:** paste contents to `https://github.com/adiahealth/gen-ui-kit/issues/new`
|
|
196
|
+
2. **Team channel:** share the ticket file path with teammates
|
|
197
|
+
3. **AdiaUI authors directly:** if you have a contact, share the file
|
|
198
|
+
|
|
199
|
+
The ticket file should be committed to your project repo so it's
|
|
200
|
+
preserved for future agents and team members. After upstream merge,
|
|
201
|
+
mark `status: closed` and link the merge commit.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### Verification before declaring the ticket done
|
|
206
|
+
|
|
207
|
+
- [ ] Working tree clean (`git status --short`)
|
|
208
|
+
- [ ] `.adia-ui-kit/tickets/README.md` registry has your new entry
|
|
209
|
+
- [ ] Every numbered section has at minimum "What happened" + "Request"
|
|
210
|
+
- [ ] "Items deliberately NOT included" cites a verification anchor for
|
|
211
|
+
every exclusion (file path, version reference, or `.adia-ui-kit/notes/` path)
|
|
212
|
+
- [ ] Every P0/P1 has a reproduction block or stack trace
|
|
213
|
+
- [ ] Front-matter `references:` lists every prior ticket touching the
|
|
214
|
+
same components
|
|
215
|
+
|
|
216
|
+
**The stranger test:** Can a stranger open your ticket cold and:
|
|
217
|
+
|
|
218
|
+
1. Reproduce every P0/P1
|
|
219
|
+
2. Understand why each exclusion was made
|
|
220
|
+
3. Estimate the effort for each ask
|
|
221
|
+
4. Find the relevant prior conversation
|
|
222
|
+
|
|
223
|
+
If yes — the ticket is defensible.
|
|
224
|
+
|
|
225
|
+
---
|