@adia-ai/a2ui-compose 0.7.23 → 0.7.25

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,16 @@
1
1
  # Changelog — @adia-ai/a2ui-compose
2
2
 
3
+ ## [0.7.25] — 2026-07-03
4
+
5
+ ### Maintenance
6
+ - **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.
7
+ - **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.
8
+
9
+ ## [0.7.24] — 2026-07-01
10
+
11
+ ### Maintenance
12
+ - **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.7.24 work shipped in @adia-ai/web-components upstream consumer findings F1/F2/F4/F5/F6 — icon-ui fail-loud registry wiring, @phosphor-icons/core direct dep, custom-elements.json de-fabrication, new display-field-ui primitive, table-ui rowExpandable per-row gate. See `packages/web-components/CHANGELOG.md#0724--2026-07-01` for details.
13
+
3
14
  ## [0.7.23] — 2026-06-30
4
15
 
5
16
  ### Maintenance
@@ -318,7 +329,7 @@
318
329
  ## [0.6.15] — 2026-05-21
319
330
 
320
331
  ### Maintenance
321
- - **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.
332
+ - **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.
322
333
 
323
334
  ## [0.6.14] — 2026-05-21
324
335
 
@@ -899,7 +910,7 @@ See root [CHANGELOG.md `[Unreleased]`](../../../CHANGELOG.md) for the v0.4.5 ove
899
910
  - **`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.
900
911
  - **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.
901
912
 
902
- 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.
913
+ 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.
903
914
  ## [0.4.3] - 2026-05-11
904
915
 
905
916
  ### Fixed
@@ -908,7 +919,7 @@ See root [CHANGELOG.md `[Unreleased]`](../../../CHANGELOG.md) for the cross-cutt
908
919
 
909
920
  ### Lockstep
910
921
 
911
- 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.
922
+ 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.
912
923
  ## [0.4.2] - 2026-05-11
913
924
 
914
925
  ### Ride-along (no source changes)
@@ -947,7 +958,7 @@ Lockstep version bump only — source byte-identical to v0.3.4. Internal `@adia-
947
958
  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.
948
959
  ## [0.3.3] - 2026-05-07
949
960
 
950
- **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`).
961
+ **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`).
951
962
 
952
963
  ### Added
953
964
 
@@ -992,7 +1003,7 @@ Lockstep version bump only — source byte-identical to v0.3.3. Internal `@adia-
992
1003
  ## [0.3.2] - 2026-05-06
993
1004
 
994
1005
  **9-package lockstep patch cut to v0.3.2.** All lockstep members share
995
- one version per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
1006
+ one version per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
996
1007
  Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
997
1008
 
998
1009
  ### Added
@@ -1017,7 +1028,7 @@ Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
1017
1028
  - `version`: `0.3.1` → `0.3.2`.
1018
1029
  ## [0.3.1] - 2026-05-06
1019
1030
 
1020
- **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).
1031
+ **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).
1021
1032
 
1022
1033
  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).
1023
1034
 
@@ -1027,7 +1038,7 @@ This package itself ships **no source changes** in v0.3.1. The cut bumps version
1027
1038
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
1028
1039
  ## [0.3.0] - 2026-05-05
1029
1040
 
1030
- **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`.
1041
+ **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`.
1031
1042
 
1032
1043
  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).
1033
1044
 
@@ -1072,9 +1083,9 @@ This is a **minor cut on top of v0.2.5 with one BREAKING change**: the `./llm` s
1072
1083
  Plus rewrite imports as shown above. The change is mechanical.
1073
1084
  ## [0.2.5] - 2026-05-04
1074
1085
 
1075
- **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).
1086
+ **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).
1076
1087
 
1077
- 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.
1088
+ 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.
1078
1089
 
1079
1090
  ### Changed
1080
1091
 
@@ -1082,7 +1093,7 @@ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive conte
1082
1093
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
1083
1094
  ## [0.2.4] - 2026-05-04
1084
1095
 
1085
- **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).
1096
+ **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).
1086
1097
 
1087
1098
  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.
1088
1099
 
@@ -1102,7 +1113,7 @@ _Nothing yet._
1102
1113
 
1103
1114
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
1104
1115
  0.2.2 → 0.2.3 per
1105
- [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
1116
+ [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1106
1117
  Patch cut — no breaking changes.
1107
1118
 
1108
1119
  ### Changed
@@ -1117,7 +1128,7 @@ Patch cut — no breaking changes.
1117
1128
  `@adia-ai/a2ui-compose` source is byte-identical to `0.2.2`. The cut bumps version + the internal dep range entries only.
1118
1129
  ## [0.2.2] - 2026-05-02
1119
1130
 
1120
- **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.
1131
+ **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.
1121
1132
 
1122
1133
  ### Changed
1123
1134
 
@@ -1140,7 +1151,7 @@ Companion fix in `@adia-ai/a2ui-retrieval` Unreleased (web-research.js EXPLICIT/
1140
1151
  ---
1141
1152
  ## [0.2.1] - 2026-05-02
1142
1153
 
1143
- **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.
1154
+ **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.
1144
1155
 
1145
1156
  ### Changed
1146
1157
 
@@ -1180,10 +1191,10 @@ The synthesizer now captures a `retrievalTrace` per attempt: Tier-1 hits with sc
1180
1191
 
1181
1192
  **Lockstep cut + boundary cleanup.** All 8 published `@adia-ai/*`
1182
1193
  packages now share one version, governed by
1183
- [`docs/specs/package-architecture.md` § 15 (Versioning Policy)](../../../docs/specs/package-architecture.md#15-versioning-policy).
1194
+ [`.claude/docs/specs/package-architecture.md` § 15 (Versioning Policy)](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
1184
1195
  This release also lands the `engine/` ↔ `engines/` collision fix from
1185
1196
  T3 of the
1186
- [`docs/plans/packages-architecture-fixes-2026-05-02.md`](../../../.brain/archive/2026-Q2/PLAN-packages-architecture-fixes-2026-05-02.md)
1197
+ [`.claude/docs/plans/packages-architecture-fixes-2026-05-02.md`](../../../.brain/archive/2026-Q2/PLAN-packages-architecture-fixes-2026-05-02.md)
1187
1198
  plan.
1188
1199
 
1189
1200
  ### Changed
@@ -1202,14 +1213,14 @@ plan.
1202
1213
  internal imports were also rewritten by the same sweep (no behavior
1203
1214
  change). All internal imports updated in one sweep.
1204
1215
  - **`constitution.md` moved out of the package source** to
1205
- [`docs/specs/compose-constitution.md`](../../../docs/specs/compose-constitution.md)
1216
+ [`.claude/docs/specs/compose-constitution.md`](../../../.claude/docs/specs/compose-constitution.md)
1206
1217
  so it doesn't ship in the published tarball. Pointer added in
1207
1218
  README.
1208
1219
  - **`package.json` `exports` map updated** with new keys (`./core`,
1209
1220
  `./strategies/registry`, `./strategies/zettel`); old keys
1210
1221
  (`./engine`, `./engines/registry`, `./engines/zettel`) retained as
1211
1222
  aliases for one release cycle and removed in the next major.
1212
- - Spec [`docs/specs/package-architecture.md`](../../../docs/specs/package-architecture.md)
1223
+ - Spec [`.claude/docs/specs/package-architecture.md`](../../../.claude/docs/specs/package-architecture.md)
1213
1224
  bumped 0.5.0 → 0.6.0 with the directory tree updated to reflect the
1214
1225
  new layout; new § 15 documents the lockstep versioning policy.
1215
1226
 
@@ -1237,8 +1248,8 @@ zettel engine that turn `compose_from_chunks` from single-shot into a
1237
1248
  multi-turn surface, plus a first-class telemetry surface that auto-fires
1238
1249
  issue tickets on engine failure paths.
1239
1250
 
1240
- Spec: [`docs/specs/genui-multiturn-architecture.md`](../../../docs/specs/genui-multiturn-architecture.md) (Active v0.1.0).
1241
- Plan: [`docs/plans/genui-multiturn-rollout-2026-04-28.md`](../../../docs/plans/genui-multiturn-rollout-2026-04-28.md) (Phase A scoped).
1251
+ Spec: [`.claude/docs/specs/genui-multiturn-architecture.md`](../../../.claude/docs/specs/genui-multiturn-architecture.md) (Active v0.1.0).
1252
+ Plan: [`.claude/docs/plans/genui-multiturn-rollout-2026-04-28.md`](../../../.claude/docs/plans/genui-multiturn-rollout-2026-04-28.md) (Phase A scoped).
1242
1253
  ADR: [`0008-multiturn-genui-architecture.md`](../../../.brain/adrs/0008-multiturn-genui-architecture.md).
1243
1254
 
1244
1255
  ### 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.23",
3
+ "version": "0.7.25",
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": {
@@ -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]