@adia-ai/a2ui-compose 0.7.24 → 0.7.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog — @adia-ai/a2ui-compose
2
2
 
3
+ ## [0.7.26] — 2026-07-04
4
+
5
+ ### Fixed
6
+ - **Monolithic engine no longer teaches `variant="outline"` as the encoding for "secondary button."** `strategies/monolithic/_shared.js`'s hardcoded system-prompt text — sent to the LLM on every generation call — read `variant="primary" for main action, "outline" for secondary, "ghost" for tertiary`, actively instructing every generation to reach for `outline` on any non-primary button. `button-ui`'s unstyled default already renders the neutral/secondary look (see `@adia-ai/web-components` changelog); corrected the prompt text to say so explicitly and to leave `variant` unset for secondary/default actions, reserving `variant="primary"` for the one CTA that should stand out and `variant="ghost"` for genuinely lower-emphasis tertiary actions. Also fixed the same anti-pattern hardcoded into the file's fallback-error-UI generator — a "Copy Debug Info" button built with `variant: 'outline'` right next to a `variant: 'primary'` "Try Again" — dropped the attribute there too.
7
+ - Corpus evidence that motivated the investigation: of 446 `<button-ui>` tags across harvested demo-page chunks, only 30 were bare vs. 91 explicit `variant="outline"` + 215 `variant="ghost"` — confirming the prompt text (not incidental author habit) was the dominant driver.
8
+
9
+ ## [0.7.25] — 2026-07-03
10
+
11
+ ### Maintenance
12
+ - **Lockstep version bump.** No functional source changes; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.7.25 work shipped in accordion-ui variant="flat|contained" posture + 2 footnote fixes + keyboard a11y. See `packages/web-components/CHANGELOG.md#0725--2026-07-03` for details.
13
+ - **Doc-comment path references corrected** (`docs/specs/...` → `.claude/docs/specs/...`) across `strategies/` (`registry.js` + 5 `zettel/` files) — propagated from the repo-wide `docs/` → `.claude/docs/` migration (2026-07-01); no functional change.
14
+
3
15
  ## [0.7.24] — 2026-07-01
4
16
 
5
17
  ### Maintenance
@@ -323,7 +335,7 @@
323
335
  ## [0.6.15] — 2026-05-21
324
336
 
325
337
  ### Maintenance
326
- - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.15 work shipped in `@adia-ai/web-components` — `installIconLoaders` shape-detects malformed flat globs (FB-07 auto-promote + warn), `icons-phosphor.js` surfaces silent-fail diagnostics (FB-08), and docs/skill examples corrected (FB-09). See `packages/web-components/CHANGELOG.md#0615--2026-05-21` for details.
338
+ - **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.15 work shipped in `@adia-ai/web-components` — `installIconLoaders` shape-detects malformed flat globs (FB-07 auto-promote + warn), `icons-phosphor.js` surfaces silent-fail diagnostics (FB-08), and .claude/docs/skill examples corrected (FB-09). See `packages/web-components/CHANGELOG.md#0615--2026-05-21` for details.
327
339
 
328
340
  ## [0.6.14] — 2026-05-21
329
341
 
@@ -904,7 +916,7 @@ See root [CHANGELOG.md `[Unreleased]`](../../../CHANGELOG.md) for the v0.4.5 ove
904
916
  - **`compose/strategies/monolithic/generate-pro.js` + companion `_shared/fragment-expander.js` — fragment machinery removed (§37).** Fragments retired; 85 compositions inlined with previously-referenced fragment content. Expander deleted; its caller's try/catch in `generator-adapter.js` handles the absence gracefully.
905
917
  - **MCP server `mcp/server.js` (§37).** Removed `get_fragment` tool, simplified `zettel_stats`, updated imports + boot logs + engine description to reflect the post-fragment world.
906
918
 
907
- See root [CHANGELOG.md `[Unreleased]`](../../../CHANGELOG.md) for the cross-cutting arc narrative + [docs/journal/2026/05/2026-05-12.md](../../../docs/journal/2026/05/2026-05-12.md) §§ 37 / 38 / 41 / 47 for per-§ details.
919
+ See root [CHANGELOG.md `[Unreleased]`](../../../CHANGELOG.md) for the cross-cutting arc narrative + [.claude/docs/journal/2026/05/2026-05-12.md](../../../.claude/docs/journal/2026/05/2026-05-12.md) §§ 37 / 38 / 41 / 47 for per-§ details.
908
920
  ## [0.4.3] - 2026-05-11
909
921
 
910
922
  ### Fixed
@@ -913,7 +925,7 @@ See root [CHANGELOG.md `[Unreleased]`](../../../CHANGELOG.md) for the cross-cutt
913
925
 
914
926
  ### Lockstep
915
927
 
916
- 9-package coordinated PATCH cut to v0.4.3 (per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy)). Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). Source change scoped to `core/generator.js` + `strategies/zettel/state-cache.js`. Rides alongside `@adia-ai/web-components` v0.4.3 (input-ui locale + thousands grouping + hold-to-repeat). See root [CHANGELOG.md `## [0.4.3]`](../../../CHANGELOG.md) for the cut narrative.
928
+ 9-package coordinated PATCH cut to v0.4.3 (per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy)). Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). Source change scoped to `core/generator.js` + `strategies/zettel/state-cache.js`. Rides alongside `@adia-ai/web-components` v0.4.3 (input-ui locale + thousands grouping + hold-to-repeat). See root [CHANGELOG.md `## [0.4.3]`](../../../CHANGELOG.md) for the cut narrative.
917
929
  ## [0.4.2] - 2026-05-11
918
930
 
919
931
  ### Ride-along (no source changes)
@@ -952,7 +964,7 @@ Lockstep version bump only — source byte-identical to v0.3.4. Internal `@adia-
952
964
  Lockstep version bump only — source byte-identical to v0.3.3. Internal `@adia-ai/*` dep ranges remain at `^0.3.0`. See root [CHANGELOG.md `## [0.3.4]`](../../../CHANGELOG.md) for the cut narrative.
953
965
  ## [0.3.3] - 2026-05-07
954
966
 
955
- **Lockstep cut.** All 9 published `@adia-ai/*` packages now share version `0.3.3`, governed by [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` ranges stay at `^0.3.0` (patch-cut asymmetry — caret floats `0.3.x`).
967
+ **Lockstep cut.** All 9 published `@adia-ai/*` packages now share version `0.3.3`, governed by [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` ranges stay at `^0.3.0` (patch-cut asymmetry — caret floats `0.3.x`).
956
968
 
957
969
  ### Added
958
970
 
@@ -997,7 +1009,7 @@ Lockstep version bump only — source byte-identical to v0.3.3. Internal `@adia-
997
1009
  ## [0.3.2] - 2026-05-06
998
1010
 
999
1011
  **9-package lockstep patch cut to v0.3.2.** All lockstep members share
1000
- one version per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
1012
+ one version per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1001
1013
  Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
1002
1014
 
1003
1015
  ### Added
@@ -1022,7 +1034,7 @@ Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
1022
1034
  - `version`: `0.3.1` → `0.3.2`.
1023
1035
  ## [0.3.1] - 2026-05-06
1024
1036
 
1025
- **9-package lockstep patch cut.** All 9 published `@adia-ai/*` packages bump 0.3.0 → 0.3.1 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
1037
+ **9-package lockstep patch cut.** All 9 published `@adia-ai/*` packages bump 0.3.0 → 0.3.1 per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
1026
1038
 
1027
1039
  This package itself ships **no source changes** in v0.3.1. The cut bumps version only — substantive content lives in [`@adia-ai/web-components`](https://github.com/adiahealth/gen-ui-kit/releases/tag/web-components-v0.3.1) (folder-per-trait restructure; barrel API unchanged).
1028
1040
 
@@ -1032,7 +1044,7 @@ This package itself ships **no source changes** in v0.3.1. The cut bumps version
1032
1044
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
1033
1045
  ## [0.3.0] - 2026-05-05
1034
1046
 
1035
- **9-package lockstep cut + LLM subpath dropped.** All 9 published `@adia-ai/*` packages bump 0.2.5 → 0.3.0 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges bump `^0.2.0` → `^0.3.0`.
1047
+ **9-package lockstep cut + LLM subpath dropped.** All 9 published `@adia-ai/*` packages bump 0.2.5 → 0.3.0 per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges bump `^0.2.0` → `^0.3.0`.
1036
1048
 
1037
1049
  This is a **minor cut on top of v0.2.5 with one BREAKING change**: the `./llm` subpath export is removed. The LLM adapters that previously shipped under `@adia-ai/a2ui-compose/llm` now ship as their own package, `@adia-ai/llm` (9th lockstep member, first publish in this cut).
1038
1050
 
@@ -1077,9 +1089,9 @@ This is a **minor cut on top of v0.2.5 with one BREAKING change**: the `./llm` s
1077
1089
  Plus rewrite imports as shown above. The change is mechanical.
1078
1090
  ## [0.2.5] - 2026-05-04
1079
1091
 
1080
- **8-package lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.4 → 0.2.5 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.5 under semver — patch-cut asymmetry).
1092
+ **8-package lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.4 → 0.2.5 per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.5 under semver — patch-cut asymmetry).
1081
1093
 
1082
- This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive content lives in `web-components` (new `<fields-ui>` form-grid primitive + `draggable-list-item` last-item drop-zone fix, both surfaced by the Tasks UI Playground at `docs/projects/tasks-playground/`); `a2ui-corpus` ships a catalog regen for the new `<fields-ui>` yaml. `a2ui-compose` rides along at version bump only — no source change.
1094
+ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive content lives in `web-components` (new `<fields-ui>` form-grid primitive + `draggable-list-item` last-item drop-zone fix, both surfaced by the Tasks UI Playground at `.claude/docs/projects/tasks-playground/`); `a2ui-corpus` ships a catalog regen for the new `<fields-ui>` yaml. `a2ui-compose` rides along at version bump only — no source change.
1083
1095
 
1084
1096
  ### Changed
1085
1097
 
@@ -1087,7 +1099,7 @@ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive conte
1087
1099
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
1088
1100
  ## [0.2.4] - 2026-05-04
1089
1101
 
1090
- **8-package lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.3 → 0.2.4 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.4 under semver — patch-cut asymmetry).
1102
+ **8-package lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.3 → 0.2.4 per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.4 under semver — patch-cut asymmetry).
1091
1103
 
1092
1104
  This is a **patch cut on top of v0.2.3, no BREAKING changes.** Substantive content lives in `web-components` (Tier 4 trait library lift, 11 new traits + 2 architectural rewrites, plus accumulated bug fixes); `a2ui-corpus` ships a catalog regen for the new `<demo-toggle-ui>` primitive. Six packages ride along at version + dep-range bump.
1093
1105
 
@@ -1107,7 +1119,7 @@ _Nothing yet._
1107
1119
 
1108
1120
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
1109
1121
  0.2.2 → 0.2.3 per
1110
- [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
1122
+ [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1111
1123
  Patch cut — no breaking changes.
1112
1124
 
1113
1125
  ### Changed
@@ -1122,7 +1134,7 @@ Patch cut — no breaking changes.
1122
1134
  `@adia-ai/a2ui-compose` source is byte-identical to `0.2.2`. The cut bumps version + the internal dep range entries only.
1123
1135
  ## [0.2.2] - 2026-05-02
1124
1136
 
1125
- **Lockstep cut + reasoning-panel emission fixes.** All 8 published `@adia-ai/*` packages bump 0.2.1 → 0.2.2 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
1137
+ **Lockstep cut + reasoning-panel emission fixes.** All 8 published `@adia-ai/*` packages bump 0.2.1 → 0.2.2 per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
1126
1138
 
1127
1139
  ### Changed
1128
1140
 
@@ -1145,7 +1157,7 @@ Companion fix in `@adia-ai/a2ui-retrieval` Unreleased (web-research.js EXPLICIT/
1145
1157
  ---
1146
1158
  ## [0.2.1] - 2026-05-02
1147
1159
 
1148
- **Lockstep cut + scope-drift gate at composer time + skeleton harvest + Tier-1 block filter + high-resolution session ticket trace.** All 8 published `@adia-ai/*` packages bump 0.2.0 → 0.2.1 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
1160
+ **Lockstep cut + scope-drift gate at composer time + skeleton harvest + Tier-1 block filter + high-resolution session ticket trace.** All 8 published `@adia-ai/*` packages bump 0.2.0 → 0.2.1 per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
1149
1161
 
1150
1162
  ### Changed
1151
1163
 
@@ -1185,10 +1197,10 @@ The synthesizer now captures a `retrievalTrace` per attempt: Tier-1 hits with sc
1185
1197
 
1186
1198
  **Lockstep cut + boundary cleanup.** All 8 published `@adia-ai/*`
1187
1199
  packages now share one version, governed by
1188
- [`docs/specs/package-architecture.md` § 15 (Versioning Policy)](../../../docs/specs/package-architecture.md#15-versioning-policy).
1200
+ [`.claude/docs/specs/package-architecture.md` § 15 (Versioning Policy)](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1189
1201
  This release also lands the `engine/` ↔ `engines/` collision fix from
1190
1202
  T3 of the
1191
- [`docs/plans/packages-architecture-fixes-2026-05-02.md`](../../../.brain/archive/2026-Q2/PLAN-packages-architecture-fixes-2026-05-02.md)
1203
+ [`.claude/docs/plans/packages-architecture-fixes-2026-05-02.md`](../../../.brain/archive/2026-Q2/PLAN-packages-architecture-fixes-2026-05-02.md)
1192
1204
  plan.
1193
1205
 
1194
1206
  ### Changed
@@ -1207,14 +1219,14 @@ plan.
1207
1219
  internal imports were also rewritten by the same sweep (no behavior
1208
1220
  change). All internal imports updated in one sweep.
1209
1221
  - **`constitution.md` moved out of the package source** to
1210
- [`docs/specs/compose-constitution.md`](../../../docs/specs/compose-constitution.md)
1222
+ [`.claude/docs/specs/compose-constitution.md`](../../../.claude/docs/specs/compose-constitution.md)
1211
1223
  so it doesn't ship in the published tarball. Pointer added in
1212
1224
  README.
1213
1225
  - **`package.json` `exports` map updated** with new keys (`./core`,
1214
1226
  `./strategies/registry`, `./strategies/zettel`); old keys
1215
1227
  (`./engine`, `./engines/registry`, `./engines/zettel`) retained as
1216
1228
  aliases for one release cycle and removed in the next major.
1217
- - Spec [`docs/specs/package-architecture.md`](../../../docs/specs/package-architecture.md)
1229
+ - Spec [`.claude/docs/specs/package-architecture.md`](../../../.claude/docs/specs/package-architecture.md)
1218
1230
  bumped 0.5.0 → 0.6.0 with the directory tree updated to reflect the
1219
1231
  new layout; new § 15 documents the lockstep versioning policy.
1220
1232
 
@@ -1242,8 +1254,8 @@ zettel engine that turn `compose_from_chunks` from single-shot into a
1242
1254
  multi-turn surface, plus a first-class telemetry surface that auto-fires
1243
1255
  issue tickets on engine failure paths.
1244
1256
 
1245
- Spec: [`docs/specs/genui-multiturn-architecture.md`](../../../docs/specs/genui-multiturn-architecture.md) (Active v0.1.0).
1246
- Plan: [`docs/plans/genui-multiturn-rollout-2026-04-28.md`](../../../docs/plans/genui-multiturn-rollout-2026-04-28.md) (Phase A scoped).
1257
+ Spec: [`.claude/docs/specs/genui-multiturn-architecture.md`](../../../.claude/docs/specs/genui-multiturn-architecture.md) (Active v0.1.0).
1258
+ Plan: [`.claude/docs/plans/genui-multiturn-rollout-2026-04-28.md`](../../../.claude/docs/plans/genui-multiturn-rollout-2026-04-28.md) (Phase A scoped).
1247
1259
  ADR: [`0008-multiturn-genui-architecture.md`](../../../.brain/adrs/0008-multiturn-genui-architecture.md).
1248
1260
 
1249
1261
  ### Added (engine modules)
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @adia-ai/a2ui-compose
2
2
 
3
3
  Framework-agnostic UI generation engine. Constitution doc:
4
- [`docs/specs/compose-constitution.md`](../../../docs/specs/compose-constitution.md).
4
+ [`.claude/docs/specs/compose-constitution.md`](../../../.claude/docs/specs/compose-constitution.md).
5
5
  Takes a natural-language intent +
6
6
  an A2UI component catalog and produces a tree of A2UI protocol messages
7
7
  ready for a renderer.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/a2ui-compose",
3
- "version": "0.7.24",
3
+ "version": "0.7.26",
4
4
  "description": "AdiaUI A2UI compose engine \u2014 framework-agnostic. Takes natural-language intents + a catalog and produces A2UI protocol messages. Pairs with `@adia-ai/a2ui-retrieval` (intent classification, catalog lookup) and `@adia-ai/a2ui-validator` (schema + semantic checks).",
5
5
  "type": "module",
6
6
  "exports": {
@@ -245,7 +245,7 @@ KEY RULES:
245
245
  - Use Table for tabular data (set data/columns via JS props, not Text children).
246
246
  - Use EmptyState for no-content/error states (icon, heading, description, action slot).
247
247
  - Use Skeleton for loading placeholders (variant: text|circle|rect).
248
- - Button: use variant="primary" for main action, "outline" for secondary, "ghost" for tertiary.
248
+ - Button: use variant="primary" for the one main CTA that should stand out. Leave variant unset for secondary/default actions — the default (no attribute) already IS the secondary look; do NOT add variant="outline" just to mark something as non-primary. Reserve variant="ghost" for a genuinely lower-emphasis tertiary action.
249
249
  - Button: use text prop for button label.
250
250
  - NEVER use Text for clickable/interactive actions. "View logs", "Contact support", "Learn more" = Button (variant="ghost" or "link"), NOT Text. Text is for static content only.
251
251
  - For error/status dialogs: use Alert for the error message, Button for recovery actions (retry, view logs, contact support). Don't render action labels as Text captions.
@@ -1391,7 +1391,7 @@ function fallbackMessage(reason, opts = {}) {
1391
1391
 
1392
1392
  if (executionId || rawResponse) {
1393
1393
  footerChildren.push('copy-btn');
1394
- components.push({ id: 'copy-btn', component: 'Button', text: 'Copy Debug Info', icon: 'clipboard', variant: 'outline', 'data-clipboard': debugPayload });
1394
+ components.push({ id: 'copy-btn', component: 'Button', text: 'Copy Debug Info', icon: 'clipboard', 'data-clipboard': debugPayload });
1395
1395
  }
1396
1396
 
1397
1397
  components.push(
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Engine registry + dispatcher — the seam between gen-ui's public API and the
3
- * per-engine implementations. Per docs/specs/package-architecture.md §11 Phase 5.
3
+ * per-engine implementations. Per .claude/docs/specs/package-architecture.md §11 Phase 5.
4
4
  *
5
5
  * Two engines are currently wired:
6
6
  * - monolithic → pattern-match + adapt (instant | pro | thinking modes)
@@ -19,7 +19,7 @@
19
19
  * warnings: ["..."] // non-fatal issues
20
20
  * }
21
21
  *
22
- * Plan: docs/plans/training-pipeline-chunk-harvest-2026-04-27.md (Phase C.2).
22
+ * Plan: .claude/docs/plans/training-pipeline-chunk-harvest-2026-04-27.md (Phase C.2).
23
23
  */
24
24
 
25
25
  import { getChunk } from '../../../corpus/scripts/chunk-library.js';
@@ -5,7 +5,7 @@
5
5
  * compositions from intent, the refiner takes a prior composition + intent
6
6
  * and emits ops that mutate it.
7
7
  *
8
- * Phase A scope (per docs/specs/genui-multiturn-architecture.md §4):
8
+ * Phase A scope (per .claude/docs/specs/genui-multiturn-architecture.md §4):
9
9
  * - Two-pass synthesis (locator → modifier).
10
10
  * - Validator-driven retry loop, default maxAttempts=2.
11
11
  * - Op format: chunk-plan-level ops internally; A2UI-message-shaped on output.
@@ -16,7 +16,7 @@
16
16
  * Token-budget mitigation: pre-search filters the catalog to ~30 candidates
17
17
  * before the LLM sees them. Mirrors the fragment-synthesizer technique.
18
18
  *
19
- * Plan: docs/plans/training-pipeline-chunk-harvest-2026-04-27.md (Phase C.2).
19
+ * Plan: .claude/docs/plans/training-pipeline-chunk-harvest-2026-04-27.md (Phase C.2).
20
20
  */
21
21
 
22
22
  import {
@@ -10,7 +10,7 @@
10
10
  * Every issue lands as immutable JSON under `.brain/audit-history/issues/`.
11
11
  * Traces > 200KB spill to a sidecar `.trace.json` next to the issue.
12
12
  *
13
- * Spec: docs/specs/genui-multiturn-architecture.md §3.5 + §4.6 + §11.
13
+ * Spec: .claude/docs/specs/genui-multiturn-architecture.md §3.5 + §4.6 + §11.
14
14
  *
15
15
  * Distinct from the curated `.tickets/` system (corpus/scripts/ticket.mjs):
16
16
  * those are human-authored work items. Issues here are runtime telemetry —
@@ -284,7 +284,7 @@ export async function reportIssue(input, ctx = {}) {
284
284
  suggested_owner: input.suggested_owner ?? 'unknown',
285
285
  tags: input.tags ?? [],
286
286
  related_issue_ids: ctx.related_issue_ids ?? [],
287
- linked_specs: ctx.linked_specs ?? ['docs/specs/genui-multiturn-architecture.md'],
287
+ linked_specs: ctx.linked_specs ?? ['.claude/docs/specs/genui-multiturn-architecture.md'],
288
288
  };
289
289
 
290
290
  const path = join(storageRoot, `${issue_id}.json`);
@@ -21,7 +21,7 @@
21
21
  * created_at, // ISO timestamp
22
22
  * }
23
23
  *
24
- * Spec: docs/specs/genui-multiturn-architecture.md §2.2 + §4.4.
24
+ * Spec: .claude/docs/specs/genui-multiturn-architecture.md §2.2 + §4.4.
25
25
  */
26
26
 
27
27
  const DEFAULT_MAX_SIZE = 64;
@@ -104,7 +104,7 @@ export class StateCache {
104
104
  * - unix-min — Math.floor(Date.now() / 60000), giving a compact minute-resolution
105
105
  * timestamp that humans can scan for chronological order.
106
106
  *
107
- * Spec: docs/specs/genui-multiturn-architecture.md §2.2.
107
+ * Spec: .claude/docs/specs/genui-multiturn-architecture.md §2.2.
108
108
  *
109
109
  * @param {string} intent
110
110
  * @param {number} [version=1]