@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.
Files changed (95) hide show
  1. package/.claude-plugin/plugin.json +12 -3
  2. package/.mcp.json +1 -1
  3. package/CHANGELOG.md +12 -0
  4. package/README.md +24 -1
  5. package/bin/adia-scaffold +93 -13
  6. package/package.json +1 -1
  7. package/references/shell-embed.md +10 -0
  8. package/references/spa-architecture.md +7 -0
  9. package/skills/adia-ui-kit/CHANGELOG.md +41 -0
  10. package/skills/adia-ui-kit/SKILL.md +442 -0
  11. package/skills/adia-ui-kit/assets/figma-make/guidelines/Guidelines.md +87 -0
  12. package/skills/adia-ui-kit/assets/figma-make/guidelines/components.md +142 -0
  13. package/skills/adia-ui-kit/assets/figma-make/guidelines/styles.md +118 -0
  14. package/skills/adia-ui-kit/assets/figma-make/guidelines/tokens.md +120 -0
  15. package/skills/adia-ui-kit/assets/team-scaffold/archive-README.md +30 -0
  16. package/skills/adia-ui-kit/assets/team-scaffold/drafts-README.md +57 -0
  17. package/skills/adia-ui-kit/assets/team-scaffold/inbox-README.md +76 -0
  18. package/skills/adia-ui-kit/assets/team-scaffold/outbox-README.md +46 -0
  19. package/skills/adia-ui-kit/assets/team-scaffold/team-root.README.md +51 -0
  20. package/skills/adia-ui-kit/assets/team-scaffold/tickets-README.md +208 -0
  21. package/skills/adia-ui-kit/assets/team-scaffold/tickets-REGISTRY.md +81 -0
  22. package/skills/adia-ui-kit/assets/templates/AGENTS.template.md +128 -0
  23. package/skills/adia-ui-kit/assets/templates/CLAUDE.template.md +1 -0
  24. package/skills/adia-ui-kit/assets/templates/FEEDBACK-OMISSIONS-DEFENSE.template.md +150 -0
  25. package/skills/adia-ui-kit/assets/templates/FEEDBACK.template.md +213 -0
  26. package/skills/adia-ui-kit/assets/templates/RESPONSE.template.md +114 -0
  27. package/skills/adia-ui-kit/assets/templates/figma-make-guidelines.md +90 -0
  28. package/skills/adia-ui-kit/evals/adversarial-content-trust.json +83 -0
  29. package/skills/adia-ui-kit/evals/evals.json +55 -0
  30. package/skills/adia-ui-kit/evals/routing-corpus.json +121 -0
  31. package/skills/adia-ui-kit/evals/teach-routing-cases.json +92 -0
  32. package/skills/adia-ui-kit/references/capabilities.md +245 -0
  33. package/skills/adia-ui-kit/references/catalog-lookup.md +186 -0
  34. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v1.md +8 -0
  35. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v2.md +3585 -0
  36. package/skills/adia-ui-kit/references/changelog-archive/CHANGELOG-v3.md +1899 -0
  37. package/skills/adia-ui-kit/references/common-gotchas-consumer.md +522 -0
  38. package/skills/adia-ui-kit/references/component-literacy.md +291 -0
  39. package/skills/adia-ui-kit/references/composition.md +245 -0
  40. package/skills/adia-ui-kit/references/correction-loop.md +462 -0
  41. package/skills/adia-ui-kit/references/css-policy.md +343 -0
  42. package/skills/adia-ui-kit/references/decision-model.md +158 -0
  43. package/skills/adia-ui-kit/references/diagnostic-output.md +57 -0
  44. package/skills/adia-ui-kit/references/docs-catalog.md +239 -0
  45. package/skills/adia-ui-kit/references/exclusions.md +225 -0
  46. package/skills/adia-ui-kit/references/feedback-authoring.md +466 -0
  47. package/skills/adia-ui-kit/references/figma-make.md +244 -0
  48. package/skills/adia-ui-kit/references/flows-auth.md +307 -0
  49. package/skills/adia-ui-kit/references/flows-content.md +206 -0
  50. package/skills/adia-ui-kit/references/flows-data.md +348 -0
  51. package/skills/adia-ui-kit/references/flows-interaction.md +181 -0
  52. package/skills/adia-ui-kit/references/flows-shells.md +336 -0
  53. package/skills/adia-ui-kit/references/gap-detection.md +266 -0
  54. package/skills/adia-ui-kit/references/harness.md +284 -0
  55. package/skills/adia-ui-kit/references/loading-protocol.md +406 -0
  56. package/skills/adia-ui-kit/references/local-link.md +198 -0
  57. package/skills/adia-ui-kit/references/mcp.md +401 -0
  58. package/skills/adia-ui-kit/references/migration.md +116 -0
  59. package/skills/adia-ui-kit/references/mission.md +194 -0
  60. package/skills/adia-ui-kit/references/mode-routing.md +298 -0
  61. package/skills/adia-ui-kit/references/patterns-agent.md +223 -0
  62. package/skills/adia-ui-kit/references/patterns-data.md +1065 -0
  63. package/skills/adia-ui-kit/references/patterns-forms.md +223 -0
  64. package/skills/adia-ui-kit/references/patterns-layout.md +326 -0
  65. package/skills/adia-ui-kit/references/patterns-recipes.md +1416 -0
  66. package/skills/adia-ui-kit/references/patterns-shells.md +1097 -0
  67. package/skills/adia-ui-kit/references/patterns-traits.md +259 -0
  68. package/skills/adia-ui-kit/references/patterns-wiring.md +339 -0
  69. package/skills/adia-ui-kit/references/pev-rationale.md +137 -0
  70. package/skills/adia-ui-kit/references/reasoning-gate.md +146 -0
  71. package/skills/adia-ui-kit/references/reasoning-methodologies.md +112 -0
  72. package/skills/adia-ui-kit/references/recon.md +192 -0
  73. package/skills/adia-ui-kit/references/rendering-model.md +431 -0
  74. package/skills/adia-ui-kit/references/response-authoring.md +398 -0
  75. package/skills/adia-ui-kit/references/session-log-schema.md +203 -0
  76. package/skills/adia-ui-kit/references/session-log-template.md +118 -0
  77. package/skills/adia-ui-kit/references/setup.md +652 -0
  78. package/skills/adia-ui-kit/references/skill-hygiene.md +135 -0
  79. package/skills/adia-ui-kit/references/spec-to-ui-reasoning.md +394 -0
  80. package/skills/adia-ui-kit/references/state.md +229 -0
  81. package/skills/adia-ui-kit/references/teach-protocol.md +421 -0
  82. package/skills/adia-ui-kit/references/theme.md +142 -0
  83. package/skills/adia-ui-kit/references/version-check.md +69 -0
  84. package/skills/adia-ui-kit/scripts/audit-decision-trace.mjs +198 -0
  85. package/skills/adia-ui-kit/scripts/audit-kit-roster.mjs +366 -0
  86. package/skills/adia-ui-kit/scripts/changelog-archive.mjs +126 -0
  87. package/skills/adia-ui-kit/scripts/check-adia-versions.py +404 -0
  88. package/skills/adia-ui-kit/scripts/run-skill-evals.mjs +358 -0
  89. package/skills/adia-ui-kit/scripts/validate-session-log.mjs +242 -0
  90. package/skills/adia-ui-kit/skill.json +102 -0
  91. package/skills/adia-ui-migration/CHANGELOG.md +47 -0
  92. package/skills/adia-ui-migration/SKILL.md +381 -0
  93. package/skills/adia-ui-migration/skill.json +29 -0
  94. package/skills/adia-ui-spa/SKILL.md +1 -1
  95. package/skills/adia-ui-verify/SKILL.md +2 -2
@@ -0,0 +1,208 @@
1
+ # Ticket Lifecycle Specification
2
+
3
+ > **Authoring discipline:** `adia-ui-kit` skill §FeedbackDiscipline +
4
+ > `../../references/feedback-authoring.md` (vendored from color-app's
5
+ > `.agents/team/skills/feedback-authoring.md` — battle-tested across 60+
6
+ > real tickets to `@adia-ai/*` packages).
7
+ > **Response discipline:** same skill + `../../references/response-authoring.md`.
8
+ > **Schema:** YAML front-matter + CommonMark body per state below.
9
+
10
+ ---
11
+
12
+ ## Stages & Naming
13
+
14
+ ```
15
+ drafts/ Agent rough drafts, blocker notes
16
+ - filename: FEEDBACK-NN--<recipient>--YYYY-MM-DD.md (or RESPONSE-NN for self-review drafts)
17
+ - status: draft
18
+ - P3 stays here; P0/P1/P2 promoted to outbox after polish
19
+
20
+ outbox/ Polished, submitted to upstream
21
+ - filename: FEEDBACK-NN--<recipient>--YYYY-MM-DD.md
22
+ - status: submitted → responded → resolved (or retracted)
23
+ - Once submitted, do not edit body; corrections via --followup.md sibling
24
+
25
+ inbox/ Responses received from upstream
26
+ - filename: RESPONSE-NN--<sender>--YYYY-MM-DD.md
27
+ - status: received → triaged → resolved
28
+ - Triaging may produce new outbox tickets (--followup files for clarifications)
29
+
30
+ archive/ Superseded registries, historical legacy docs only
31
+ - Immutable after write
32
+ - Use when migrating storage layouts or pruning stale arcs
33
+ ```
34
+
35
+ **Serial numbering:** `NN` is monotonic across the entire repo, allocated
36
+ at draft-creation time. `REGISTRY.md` shows the highest in-use number.
37
+ Use `ticket-tool next-id`
38
+ to get the next available NN.
39
+
40
+ **Recipient slug:** kebab-case identifier of the upstream maintainer or
41
+ package family. Examples: `adia-ui`, `adia-packages`, `pi-skills`.
42
+
43
+ **Followups:** when the original ticket needs an addendum after a
44
+ RESPONSE, name the addendum `FEEDBACK-NN--<recipient>--YYYY-MM-DD--followup.md`.
45
+ Followups land directly in `outbox/` (they're already polished — the
46
+ context is the existing ticket).
47
+
48
+ ---
49
+
50
+ ## Draft Frontmatter Contract
51
+
52
+ ```yaml
53
+ ---
54
+ id: "NN" # serial — see ticket-tool next-id
55
+ type: feedback # feedback | request | response
56
+ recipient: adia-ui
57
+ date: "YYYY-MM-DD"
58
+ author: "<agent-name> (<session-context>)" # don't claim a human author
59
+ project: "<consumer-project-name>"
60
+ status: draft # draft → submitted → responded → resolved (or retracted)
61
+ references: # every prior touchpoint
62
+ - "FEEDBACK-NN--adia-ui--YYYY-MM-DD"
63
+ - "RESPONSE-NN--adia-ui--YYYY-MM-DD"
64
+ - "FEEDBACK-NN--OMISSIONS-DEFENSE" # if a companion was authored
65
+ version: "@adia-ai/web-components@X.Y.Z" # version verified against
66
+ priority: p0 # highest priority in the doc (p0|p1|p2|p3)
67
+ ---
68
+ ```
69
+
70
+ `status: draft` is the right starting point. `ticket-tool finalize` flips
71
+ it to `status: submitted` and moves the file to `outbox/`. Retraction
72
+ flips it to `status: retracted` and moves the file BACK to `drafts/`.
73
+
74
+ ---
75
+
76
+ ## Body Shape — 4-block per finding
77
+
78
+ Multi-item tickets are normative. Each numbered finding (`## N. <Title> (P<x>)`)
79
+ contains:
80
+
81
+ 1. **What happened** — concrete observed behavior. Stack trace if a
82
+ crash. Screenshot path if visual. Cite `file:line` for both consumer
83
+ code AND framework code.
84
+ 2. **Root cause (verified end-to-end)** — walk the recipient through
85
+ HOW you established the cause. Probe output. Source file + line.
86
+ 3. **Reproduction** — minimal code block the recipient can paste into
87
+ their test harness and observe the symptom.
88
+ 4. **Request** — specific ask. Code patch sketch, concrete API shape,
89
+ doc paragraph, or a multi-option proposal (Option A/B/C with trade-offs).
90
+ 5. **Why this matters** — one paragraph. Who else hits this? Workaround
91
+ cost? Cost of NOT fixing?
92
+
93
+ Plus, ticket-level:
94
+ - **Executive Summary** at top — one paragraph stating the headline
95
+ problem and net effect.
96
+ - **Cost-estimate table** under the summary — `| Pri | Item | Estimated cost |`
97
+ with honest estimates (`unknown — defer to maintainer judgement` is
98
+ acceptable; guesses are not).
99
+ - **Items deliberately NOT included** at bottom — the exclusion defense.
100
+ Every exclusion cites a verification anchor.
101
+ - **Related observations (non-asks)** at very bottom — context the
102
+ recipient may find useful but isn't a code ask.
103
+
104
+ If the exclusion list has 15+ items or spans 4+ rationale categories,
105
+ promote it to a companion `FEEDBACK-NN--OMISSIONS-DEFENSE.md` file (see
106
+ `../../references/feedback-authoring.md` §6b).
107
+
108
+ ---
109
+
110
+ ## RESPONSE Format
111
+
112
+ When upstream replies, file in `inbox/` as `RESPONSE-NN--<sender>--YYYY-MM-DD.md`.
113
+ Schema:
114
+
115
+ ```yaml
116
+ ---
117
+ id: "NN"
118
+ type: response
119
+ recipient: <consumer-project>
120
+ date: "YYYY-MM-DD"
121
+ author: "<upstream-maintainer-name>"
122
+ project: "<upstream-project-name>"
123
+ references:
124
+ - "FEEDBACK-NN--<recipient>--YYYY-MM-DD"
125
+ version: "@adia-ai/web-components@X.Y.Z"
126
+ status: submitted
127
+ ---
128
+ ```
129
+
130
+ Body: claim-by-claim verdicts using the verdict taxonomy from
131
+ `../../references/response-authoring.md`:
132
+
133
+ | Marker | Verdict |
134
+ | ------ | ---------------------- |
135
+ | ✅ | Confirmed (shipped / accepting) |
136
+ | ⚠️ | Confirmed — partial |
137
+ | ⏳ | Deferred |
138
+ | ❌ | Dismissed (not-reproducible / by-design / incorrect-claim) |
139
+ | 🔍 | Needs clarification |
140
+ | 🔀 | Out of scope — redirected |
141
+
142
+ Every claim from the original FEEDBACK gets exactly one marker.
143
+
144
+ ---
145
+
146
+ ## Workflow Summary
147
+
148
+ ### Filing FEEDBACK
149
+
150
+ 1. Agent observes issue → drafts to `drafts/FEEDBACK-NN--<recipient>--YYYY-MM-DD.md`
151
+ (allocate NN via `ticket-tool next-id`).
152
+ 2. Agent polishes using `feedback-authoring.md` discipline (4-block body,
153
+ verified exclusions, cost estimates, references).
154
+ 3. Human (or human-driven agent) runs `ticket-tool finalize <NN>` —
155
+ gates verify completeness, file moves to `outbox/`, status flips to
156
+ `submitted`, `REGISTRY.md` gets a row.
157
+ 4. Commit. Submit upstream (open as GH issue / email / Slack — out of
158
+ scope for this tooling).
159
+
160
+ ### Receiving RESPONSE
161
+
162
+ 1. Upstream replies → manually create `inbox/RESPONSE-NN--<sender>--YYYY-MM-DD.md`
163
+ with their verdict-per-claim body.
164
+ 2. Run `ticket-tool register-response <NN>` — adds a row to `REGISTRY.md`
165
+ under the RESPONSE table, updates the matching FEEDBACK row's status
166
+ to `responded`.
167
+ 3. Triage: if any verdicts are partial / deferred / needs-clarification,
168
+ draft a `--followup.md` sibling in `outbox/`.
169
+
170
+ ### Retracting
171
+
172
+ When a FEEDBACK turns out to be wrong (RESPONSE dismisses it correctly,
173
+ or self-review post-submission reveals a flaw):
174
+
175
+ 1. Run `ticket-tool retract <NN> --reason "<one-sentence reason>"` —
176
+ moves file from `outbox/` back to `drafts/`, flips status to
177
+ `retracted`, populates `retracted-reason` front-matter field.
178
+ 2. `REGISTRY.md` row stays — status column flips to `retracted`. The
179
+ ticket is part of the audit trail forever; retraction is a status
180
+ change, not a deletion.
181
+
182
+ ### Archiving
183
+
184
+ When migrating storage layouts or pruning superseded arcs, move the
185
+ artifact to `archive/` and add a one-line note to `REGISTRY.md` pointing
186
+ at the new location. `archive/` is immutable after write.
187
+
188
+ ---
189
+
190
+ ## Deduplication Rules
191
+
192
+ Before promoting draft → outbox, the author MUST check:
193
+
194
+ 1. `rg '<component>' outbox/FEEDBACK-*` — same component filed recently?
195
+ 2. `rg '<symptom>' inbox/RESPONSE-*` — already addressed in a response?
196
+ 3. `ls drafts/` — same blocker from another agent?
197
+ 4. `cat REGISTRY.md` — grep for keywords matching the new ask.
198
+
199
+ If duplicate found: merge into existing ticket OR add as "Related
200
+ observations" in the existing ticket, rather than filing a new top-level
201
+ finding.
202
+
203
+ ---
204
+
205
+ *Aligned with: RFC 2119 (key words), RFC 5322 (email envelope), ADR-0000
206
+ (decision record format), Keep a Changelog (date/scope/summary),
207
+ GitHub Issues Markdown (task lists). Layout vendored from color-app's
208
+ battle-tested 2026-05-17 spec.*
@@ -0,0 +1,81 @@
1
+ # `.agents/team/tickets/` — Outbound + Inbound Correspondence Registry
2
+
3
+ > **Live since:** 2026-05-20
4
+ > **Schema:** see the `README.md` in this directory
5
+
6
+ ---
7
+
8
+ ## Directory Layout
9
+
10
+ ```
11
+ .agents/team/tickets/
12
+ ├── REGISTRY.md ← This file: master registry of ALL tickets
13
+ ├── README.md ← Ticket lifecycle specification
14
+ ├── drafts/ ← Agent rough drafts → coordinator drafts
15
+ ├── outbox/ ← Polished FEEDBACK tickets sent upstream
16
+ ├── inbox/ ← RESPONSE tickets received from upstream
17
+ └── archive/ ← Superseded registries, historical legacy docs
18
+ ```
19
+
20
+ ---
21
+
22
+ ## Quick Navigation
23
+
24
+ | Want to... | Go to |
25
+ | -------------------------------- | ---------------------------------- |
26
+ | File new upstream feedback | Draft to `drafts/`, then `ticket-tool finalize` |
27
+ | Read upstream response | `inbox/` |
28
+ | Read a draft before publication | `drafts/` |
29
+ | See all FEEDBACK ever filed | This file ↓ (FEEDBACK table) |
30
+ | See all RESPONSE ever received | This file ↓ (RESPONSE table) |
31
+ | Get the next available ticket ID | `ticket-tool next-id` |
32
+
33
+ ---
34
+
35
+ ## FEEDBACK Filed (0 total)
36
+
37
+ | # | File | Recipient | Date | Status | Priority | Summary |
38
+ |---|------|-----------|------|--------|----------|---------|
39
+
40
+ *(No tickets filed yet. New rows are appended at draft-finalize time by
41
+ `ticket-tool finalize`.)*
42
+
43
+ ### FEEDBACK with OMISSIONS-DEFENSE companions
44
+
45
+ | FEEDBACK | Companion | Items | Categories |
46
+ |----------|-----------|-------|------------|
47
+
48
+ ---
49
+
50
+ ## RESPONSE Received (0 total)
51
+
52
+ | # | File | Recipient | Date | Status | Verdicts |
53
+ |---|------|-----------|------|--------|----------|
54
+
55
+ *(No responses received yet. New rows are appended by
56
+ `ticket-tool register-response`.)*
57
+
58
+ ---
59
+
60
+ ## Adding New Tickets
61
+
62
+ ### Filing FEEDBACK
63
+
64
+ 1. Get next ID: `ticket-tool next-id`
65
+ 2. Draft: `ticket-tool new <type> <recipient> --slug <short-slug>`
66
+ 3. Polish using `../../references/feedback-authoring.md` (vendored from color-app).
67
+ 4. Finalize: `ticket-tool finalize <NN>`
68
+ - Runs gates, moves `drafts/` → `outbox/`, flips status to `submitted`, appends a row here.
69
+ 5. Commit. Open upstream issue / send via the appropriate channel.
70
+
71
+ ### Receiving RESPONSE
72
+
73
+ 1. File in: `.agents/team/tickets/inbox/RESPONSE-NN--<sender>--YYYY-MM-DD.md`
74
+ 2. Run: `ticket-tool register-response <NN>`
75
+ 3. Triage in your session — if any verdicts need clarification, draft a
76
+ `--followup.md` sibling in `outbox/`.
77
+
78
+ ---
79
+
80
+ *Live registry. Append-only via tooling; manual edits limited to status
81
+ column transitions (e.g. flipping `submitted` → `responded` → `resolved`).*
@@ -0,0 +1,128 @@
1
+ # {{PROJECT_NAME}} — Agent Guidelines
2
+
3
+ Auto-loaded by agentic IDE / harness at session start.
4
+ Read this first; defer to the AdiaUI skill for procedural detail.
5
+
6
+ ## Project
7
+
8
+ {{PROJECT_DESCRIPTION_ONE_LINER}}
9
+
10
+ Stack: {{STACK}} (e.g. "Vite + TypeScript + `@adia-ai/web-components` + `@adia-ai/web-modules`").
11
+
12
+ ## Skill (procedural source-of-truth)
13
+
14
+ Use the AdiaUI Kit skill for all build / wiring / pattern / ticket
15
+ procedural work:
16
+
17
+ `{{SKILL_PATH}}`
18
+
19
+ (Typical path: `/Users/<you>/Projects/gen-ui-kit/.agents/skills/adia-ui-kit/SKILL.md`.)
20
+
21
+ When the user invokes `use adia-ui-kit` / `load the AdiaUI skill`, render
22
+ the capability surface from the skill, not from this file. This file
23
+ holds **project-specific** decisions; the skill holds **AdiaUI-general**
24
+ procedure.
25
+
26
+ To verify the skill version your install resolves to:
27
+
28
+ ```bash
29
+ grep '^version:' {{SKILL_PATH}}
30
+ ```
31
+
32
+ Pin a specific version in your project notes if reproducibility matters.
33
+
34
+ ## Ticket pipeline (upstream feedback to `@adia-ai/*`)
35
+
36
+ Findings about `@adia-ai/*` packages or the `adia-ui-kit` skill itself
37
+ file directly into the **central inbound store** at `chat-ui` (ADR-0031).
38
+ One numbering namespace across all consumer projects; no per-repo
39
+ drift. Set `ADIA_TICKETS_DIR` so the canonical ticket-tool routes to
40
+ the central store:
41
+
42
+ ```bash
43
+ export ADIA_TICKETS_DIR=/Users/<you>/Projects/gen-ui-kit/.agents/team/tickets
44
+
45
+ # Allocate a global NN (consults chat-ui's REGISTRY, not yours)
46
+ ticket-tool next-id
47
+
48
+ # Scaffold polished FEEDBACK directly into chat-ui/.../inbound/
49
+ ticket-tool \
50
+ new feedback adia-ui --inbound --sender {{PROJECT_NAME_KEBAB}} \
51
+ --slug <kebab-topic>
52
+
53
+ # Polish per references/feedback-authoring.md in the skill bundle.
54
+ # Then commit the file inside chat-ui (it lives there now).
55
+ ```
56
+
57
+ For drafts that need polishing pressure before relay, you can still
58
+ use a local `.agents/team/tickets/drafts/` in this project — drop
59
+ `ADIA_TICKETS_DIR` from the env when running `new`/`finalize`. Polished
60
+ tickets relay manually by `cp` into chat-ui inbound + `ticket-tool
61
+ registry-rebuild` in chat-ui.
62
+
63
+ See `.agents/skills/adia-ui-kit/SKILL.md` §FeedbackDiscipline + §Team
64
+ Tickets + §InboundTickets for the full workflow. See
65
+ `{{SKILL_PATH_DIR}}/../../team/tickets/inbound/README.md` for the
66
+ consumer-agent vs maintainer-agent role split.
67
+
68
+ Recipients:
69
+ - `adia-ui` — package-side bugs / gaps (`@adia-ai/web-components`,
70
+ `@adia-ai/web-modules`, `@adia-ai/a2ui-*`, `@adia-ai/llm`)
71
+ - `adia-ui-skill` — skill-side doc bugs / gaps
72
+
73
+ ## Install verification
74
+
75
+ Before any non-trivial work, verify your `@adia-ai/*` install is sane:
76
+
77
+ ```bash
78
+ {{SKILL_PATH_DIR}}/scripts/check-adia-versions.py --root .
79
+ ```
80
+
81
+ Should exit 0 with all 9 packages on a single version, matching npm
82
+ latest. Drift means stale install — see SKILL.md §VersionCheck.
83
+
84
+ ## Key conventions (AdiaUI-specific)
85
+
86
+ - **Never `git add -A`** — multi-agent repos demand explicit file
87
+ allowlists; see SKILL.md §FeedbackDiscipline + `multi-agent-git-
88
+ staging-discipline` skill if you have it
89
+ - **Always import shell CSS explicitly** when using a shell tag.
90
+ `admin-shell.js` / `chat-shell.js` / etc. do NOT self-import their
91
+ layout CSS — see SKILL.md §CSSPolicy. Add to your entry file:
92
+ ```js
93
+ import '@adia-ai/web-modules/shell/admin-shell.css';
94
+ // or chat-shell.css, editor-shell.css, simple-shell.css
95
+ ```
96
+ - **Use Vite 8-compatible glob form** for icon loaders:
97
+ ```js
98
+ import.meta.glob('../node_modules/@phosphor-icons/core/assets/regular/*.svg', { … });
99
+ // NOT '@phosphor-icons/core/...' — rolldown rejects @-scoped
100
+ ```
101
+ - **Do NOT import the full `@adia-ai/web-modules` barrel** —
102
+ use per-cluster subpaths (`@adia-ai/web-modules/shell`,
103
+ `@adia-ai/web-modules/generative`, etc.). The full barrel is broken
104
+ on `<v0.6.8` and noisy on `>=v0.6.8`.
105
+
106
+ ## Project-specific decisions
107
+
108
+ {{PROJECT_SPECIFIC_DECISIONS}}
109
+
110
+ Examples:
111
+ - "All routes pre-rendered statically; SPA mode only for admin
112
+ dashboards under `/admin/*`."
113
+ - "Theme: light-only default; dark scheme opt-in per user setting."
114
+ - "Data layer: REST-only — no GraphQL, no SSE."
115
+
116
+ ## Skill version pinning (optional)
117
+
118
+ If you want to lock the skill version this project depends on, record
119
+ the version + commit SHA here:
120
+
121
+ - Skill version: `{{SKILL_VERSION}}` ({{SKILL_COMMIT}})
122
+ - AdiaUI packages: `@adia-ai/*@{{ADIA_AI_VERSION}}`
123
+
124
+ Re-verify and bump when intentionally adopting newer skill capabilities.
125
+
126
+ ---
127
+
128
+ **Last reviewed:** {{DATE}}
@@ -0,0 +1,150 @@
1
+ # FEEDBACK-{{ID}} Omissions Defense
2
+
3
+ **Date:** {{DATE}}
4
+ **Author:** {{AGENT}} ({{SESSION_CONTEXT}})
5
+ **Context:** Prepared for leadership + principal engineer review. Every
6
+ item below was considered for inclusion in `FEEDBACK-{{ID}}--{{RECIPIENT}}--{{DATE}}.md`
7
+ and deliberately excluded.
8
+
9
+ > **Use this companion when:** the inline `§Items deliberately NOT included`
10
+ > block in the main ticket would exceed ~15 items or span ~4+ rationale
11
+ > categories. Large inline blocks get skimmed; a standalone file forces
12
+ > reviewers to treat exclusions as first-class artifacts.
13
+
14
+ ---
15
+
16
+ ## Principle Applied
17
+
18
+ <2–4 sentences naming the scoping rule the ticket used, e.g.
19
+ "current-session, concrete, reproducible friction that blocked or
20
+ significantly slowed <feature> delivery.">
21
+
22
+ Items were excluded if they were:
23
+
24
+ 1. <Category 1, e.g. "Already filed by the peer agent in FEEDBACK-NN-1">
25
+ 2. <Category 2, e.g. "Resolved in prior releases">
26
+ 3. <Category 3, e.g. "Standard CSS customization, not framework defects">
27
+ 4. <Category 4, e.g. "Speculative / not yet encountered in practice">
28
+ 5. <Category 5, e.g. "Internal to our adapter architecture">
29
+
30
+ I will flag items where my confidence is low.
31
+
32
+ ---
33
+
34
+ ## <Category 1> — Correctly Omitted
35
+
36
+ ### Omission 1: <one-line title> (P<x>)
37
+
38
+ **<EVIDENCE TAG>** — uppercase, scannable. Examples:
39
+ `PEER FINDING` / `VERIFIED IN SOURCE` / `RESOLVED IN v0.5.2` /
40
+ `OUR INTERNAL API` / `THIRD-PARTY TOOL` / `STANDARD CUSTOMIZATION` /
41
+ `SPECULATIVE`
42
+
43
+ <1–2 sentences citing the verification anchor — file:line, version,
44
+ prior ticket ID, or skill/docs reference.>
45
+
46
+ **Defense:** <Why this exclusion is correct. 1–3 sentences.>
47
+
48
+ **Confidence:** High | Medium | Low.
49
+ *(Medium or Low ratings are honesty, not weakness. If you flag low
50
+ confidence, the reviewer can prioritize verification.)*
51
+
52
+ ### Omission 2: <next title> (P<x>)
53
+
54
+ **<EVIDENCE TAG>**
55
+ <anchor citation>
56
+
57
+ **Defense:** <reasoning>
58
+
59
+ **Confidence:** High | Medium | Low.
60
+
61
+ <Repeat for all omissions in this category.>
62
+
63
+ ---
64
+
65
+ ## <Category 2> — Correctly Omitted
66
+
67
+ ### Omission N: ...
68
+
69
+ <Same shape as above.>
70
+
71
+ ---
72
+
73
+ ## <Category 3> — Correctly Omitted
74
+
75
+ ### Omission N: ...
76
+
77
+ ---
78
+
79
+ ## <Category 4> — Correctly Omitted
80
+
81
+ ### Omission N: ...
82
+
83
+ ---
84
+
85
+ ## <Category 5> — Correctly Omitted
86
+
87
+ ### Omission N: ...
88
+
89
+ ---
90
+
91
+ ## Mistakes I May Have Made
92
+
93
+ Flag items where, on reflection, exclusion might have been an error.
94
+ This section is the inverse of the rest of the file — it's where the
95
+ author voluntarily surfaces their own weakest exclusions for review.
96
+
97
+ ### Potential Mistake A: <title>
98
+
99
+ **WHY IT MATTERS:** <one paragraph on why this exclusion might have
100
+ been wrong.>
101
+
102
+ **ACTION:** Willing to add as P<x> to FEEDBACK-{{ID}} §<N> if requested.
103
+
104
+ ### Potential Mistake B: <title>
105
+
106
+ <same shape>
107
+
108
+ ---
109
+
110
+ ## If I Had Two More Hours
111
+
112
+ With additional time, I would:
113
+
114
+ 1. <Specific verification I'd run, e.g. "Bisect Omission 6 to confirm
115
+ which release fixed it and whether a regression test exists.">
116
+ 2. <Audit I'd perform.>
117
+ 3. <Component(s) I'd test that haven't been exercised yet.>
118
+ 4. <Docs / source I'd cross-check.>
119
+
120
+ This section gives the reviewer a roadmap for what additional verification
121
+ would tighten the ticket.
122
+
123
+ ---
124
+
125
+ ## Bottom Line
126
+
127
+ `FEEDBACK-{{ID}}` contains <N> items, all of which are <core scope claim,
128
+ e.g. "current-session, concrete, and blocking-or-slowing">. The <M>
129
+ omissions above are either <category-1>, <category-2>, <category-3>,
130
+ <category-4>, or <category-5>. I'm prepared to escalate any of them if
131
+ the reviewer disagrees with the classification.
132
+
133
+ ---
134
+
135
+ ## Cross-link in the main ticket
136
+
137
+ The main `FEEDBACK-{{ID}}--{{RECIPIENT}}--{{DATE}}.md` MUST include this
138
+ companion in front-matter:
139
+
140
+ ```yaml
141
+ references:
142
+ - "FEEDBACK-{{ID}}--OMISSIONS-DEFENSE"
143
+ ```
144
+
145
+ …and in its §Items deliberately NOT included section, replace the bullet
146
+ list with a one-line pointer:
147
+
148
+ > Items considered and deliberately excluded are tracked in
149
+ > `FEEDBACK-{{ID}}--OMISSIONS-DEFENSE.md` — <M> omissions across <N> rationale
150
+ > categories, each with verification anchor and confidence rating.