@adia-ai/a2ui-mcp 0.7.24 → 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,11 @@
1
1
  # Changelog — @adia-ai/a2ui-mcp
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 reference corrected** (`docs/specs/...` → `.claude/docs/specs/...`) in `tools/synthesis.ts` — propagated from the repo-wide `docs/` → `.claude/docs/` migration (2026-07-01); no functional change.
8
+
3
9
  ## [0.7.24] — 2026-07-01
4
10
 
5
11
  ### Maintenance
@@ -317,7 +323,7 @@
317
323
  ## [0.6.15] — 2026-05-21
318
324
 
319
325
  ### Maintenance
320
- - **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.
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 .claude/docs/skill examples corrected (FB-09). See `packages/web-components/CHANGELOG.md#0615--2026-05-21` for details.
321
327
 
322
328
  ## [0.6.14] — 2026-05-21
323
329
 
@@ -644,7 +650,7 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
644
650
 
645
651
  ### Added
646
652
 
647
- - `scripts/shadow-compare-classify.mjs` — Phase 3 shadow-compare classifier tool (139 lines). Compares the deterministic `classifyIntent` + `scoreAgainstSpec` (from `@adia-ai/a2ui-validator` Phase 3 foundation, shipped in v0.4.1) against the LLM judge baseline. Used to identify IntentSpecs eligible for fast-path promotion (`≥ 95%` agreement threshold per spec § 3c). First report at `docs/reports/semantic-shadow-compare-2026-05-10.md` flagged `auth.signin` + `auth.signup` as eligible. Surfaces alongside `npm run semantic:shadow-compare`.
653
+ - `scripts/shadow-compare-classify.mjs` — Phase 3 shadow-compare classifier tool (139 lines). Compares the deterministic `classifyIntent` + `scoreAgainstSpec` (from `@adia-ai/a2ui-validator` Phase 3 foundation, shipped in v0.4.1) against the LLM judge baseline. Used to identify IntentSpecs eligible for fast-path promotion (`≥ 95%` agreement threshold per spec § 3c). First report at `.claude/docs/reports/semantic-shadow-compare-2026-05-10.md` flagged `auth.signin` + `auth.signup` as eligible. Surfaces alongside `npm run semantic:shadow-compare`.
648
654
 
649
655
  ### Ride-along (otherwise no source changes)
650
656
 
@@ -682,7 +688,7 @@ Lockstep version bump only — source byte-identical to v0.3.4. Internal `@adia-
682
688
  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.
683
689
  ## [0.3.3] - 2026-05-07
684
690
 
685
- **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`).
691
+ **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`).
686
692
 
687
693
  ### Added
688
694
 
@@ -720,7 +726,7 @@ Lockstep version bump only — source byte-identical to v0.3.3. Internal `@adia-
720
726
  ## [0.3.2] - 2026-05-06
721
727
 
722
728
  **9-package lockstep patch cut to v0.3.2.** All lockstep members share
723
- one version per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
729
+ one version per [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
724
730
  Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
725
731
 
726
732
  ### Added
@@ -744,7 +750,7 @@ Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
744
750
  - `version`: `0.3.1` → `0.3.2`.
745
751
  ## [0.3.1] - 2026-05-06
746
752
 
747
- **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).
753
+ **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).
748
754
 
749
755
  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).
750
756
 
@@ -754,7 +760,7 @@ This package itself ships **no source changes** in v0.3.1. The cut bumps version
754
760
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
755
761
  ## [0.3.0] - 2026-05-05
756
762
 
757
- **9-package lockstep cut + new `@adia-ai/llm` dep.** 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`.
763
+ **9-package lockstep cut + new `@adia-ai/llm` dep.** 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`.
758
764
 
759
765
  The MCP synthesis tool now resolves `createLLMAdapter` from `@adia-ai/llm` (9th lockstep package, first publish in this cut) rather than `@adia-ai/a2ui-compose/llm` (subpath dropped). Behavior unchanged.
760
766
 
@@ -779,9 +785,9 @@ If you depend on `@adia-ai/a2ui-mcp` directly (typically as a CLI via `npx adiau
779
785
  `@adia-ai/llm` is a transitive dep — npm install handles it.
780
786
  ## [0.2.5] - 2026-05-04
781
787
 
782
- **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).
788
+ **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).
783
789
 
784
- 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-mcp` rides along at version bump only — no source change.
790
+ 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-mcp` rides along at version bump only — no source change.
785
791
 
786
792
  ### Changed
787
793
 
@@ -789,7 +795,7 @@ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive conte
789
795
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
790
796
  ## [0.2.4] - 2026-05-04
791
797
 
792
- **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).
798
+ **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).
793
799
 
794
800
  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.
795
801
 
@@ -809,7 +815,7 @@ _Nothing yet._
809
815
 
810
816
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
811
817
  0.2.2 → 0.2.3 per
812
- [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
818
+ [`.claude/docs/specs/package-architecture.md` § 15](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
813
819
  Patch cut — no breaking changes.
814
820
 
815
821
  ### Changed
@@ -824,7 +830,7 @@ Patch cut — no breaking changes.
824
830
  `@adia-ai/a2ui-mcp` source is byte-identical to `0.2.2`. The cut bumps version + the internal dep range entries only.
825
831
  ## [0.2.2] - 2026-05-02
826
832
 
827
- **Lockstep cut.** 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.
833
+ **Lockstep cut.** 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.
828
834
 
829
835
  ### Changed
830
836
 
@@ -842,7 +848,7 @@ Patch cut — no breaking changes.
842
848
  ---
843
849
  ## [0.2.1] - 2026-05-02
844
850
 
845
- **Lockstep cut + `report_issue` trigger phrases + scope-drift auto-fire on canvas-drift detection.** 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.
851
+ **Lockstep cut + `report_issue` trigger phrases + scope-drift auto-fire on canvas-drift detection.** 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.
846
852
 
847
853
  ### Changed
848
854
 
@@ -874,7 +880,7 @@ When the composer's scope-drift gate (a2ui-compose) flags `result.scopeDrift.dri
874
880
 
875
881
  **Lockstep cut + corpus caret-lock fix.** All 8 published `@adia-ai/*`
876
882
  packages now share one version, governed by
877
- [`docs/specs/package-architecture.md` § 15 (Versioning Policy)](../../../docs/specs/package-architecture.md#15-versioning-policy).
883
+ [`.claude/docs/specs/package-architecture.md` § 15 (Versioning Policy)](../../../.claude/docs/specs/package-architecture.md#15-versioning-policy).
878
884
 
879
885
  This release **fixes a live shipping bug** in 0.1.3: the `dependencies`
880
886
  range `"@adia-ai/a2ui-corpus": "^0.0.6"` locked to *exactly* `0.0.6`
@@ -915,7 +921,7 @@ BREAKING changes.
915
921
 
916
922
  - **`compose_from_chunks` eval runner + hold-out set**. Closes the
917
923
  spec at
918
- [`docs/specs/compose-from-chunks-eval.md`](../../../docs/specs/compose-from-chunks-eval.md):
924
+ [`.claude/docs/specs/compose-from-chunks-eval.md`](../../../.claude/docs/specs/compose-from-chunks-eval.md):
919
925
  - `evals/compose-from-chunks-holdout.jsonl` — 20 intents (10
920
926
  single-turn compose + 10 multi-turn refine) across 9
921
927
  categories (data-display, forms, layout, data, data-viz,
@@ -945,7 +951,7 @@ BREAKING changes.
945
951
  ---
946
952
  ## [0.1.2] - 2026-05-01
947
953
 
948
- Phase 2 of [`docs/specs/semantic-validator.md`](../../../docs/specs/semantic-validator.md)
954
+ Phase 2 of [`.claude/docs/specs/semantic-validator.md`](../../../.claude/docs/specs/semantic-validator.md)
949
955
  **promoted to default**. When `--semantic` is set, `eval-diff.mjs`
950
956
  now gates on the combined score at threshold 80 by default, instead
951
957
  of running in Phase 1 shadow-mode. **Behavior change** — see § Opt
@@ -1001,7 +1007,7 @@ Pass rate drops from 83 → 79 (4 percentage points), all justified.
1001
1007
 
1002
1008
  ### Updated baseline thresholds
1003
1009
 
1004
- Per [`docs/specs/semantic-validator.md`](../../../docs/specs/semantic-validator.md)
1010
+ Per [`.claude/docs/specs/semantic-validator.md`](../../../.claude/docs/specs/semantic-validator.md)
1005
1011
  § Phase 2 status (2026-05-01):
1006
1012
 
1007
1013
  - `avgScore ≥ 88` (structural — unchanged)
@@ -1019,7 +1025,7 @@ Per [`docs/specs/semantic-validator.md`](../../../docs/specs/semantic-validator.
1019
1025
  threshold revalidation passes
1020
1026
  ## [0.1.1] - 2026-05-01
1021
1027
 
1022
- Phase 2 of [`docs/specs/semantic-validator.md`](../../../docs/specs/semantic-validator.md)
1028
+ Phase 2 of [`.claude/docs/specs/semantic-validator.md`](../../../.claude/docs/specs/semantic-validator.md)
1023
1029
  — opt-in combined-gating in `eval-diff.mjs` + new
1024
1030
  `semantic-stats.mjs` companion script. **No breaking changes.**
1025
1031
  Default `eval-diff` behavior unchanged — Phase 1 shadow-mode is
@@ -1090,8 +1096,8 @@ MCP tools that turn the chunk-composition pipeline from single-shot into a
1090
1096
  multi-turn surface, plus extends `compose_from_chunks` to mint a `state_id`
1091
1097
  for refinement chains.
1092
1098
 
1093
- Spec: [`docs/specs/genui-multiturn-architecture.md`](../../../docs/specs/genui-multiturn-architecture.md) (Active v0.1.0).
1094
- Plan: [`docs/plans/genui-multiturn-rollout-2026-04-28.md`](../../../docs/plans/genui-multiturn-rollout-2026-04-28.md) (Phase A scoped).
1099
+ Spec: [`.claude/docs/specs/genui-multiturn-architecture.md`](../../../.claude/docs/specs/genui-multiturn-architecture.md) (Active v0.1.0).
1100
+ Plan: [`.claude/docs/plans/genui-multiturn-rollout-2026-04-28.md`](../../../.claude/docs/plans/genui-multiturn-rollout-2026-04-28.md) (Phase A scoped).
1095
1101
  ADR: [`0008-multiturn-genui-architecture.md`](../../../.brain/adrs/0008-multiturn-genui-architecture.md).
1096
1102
 
1097
1103
  ### Added (MCP tools)
@@ -1328,8 +1334,8 @@ before HTML is materialized.
1328
1334
 
1329
1335
  ### Convention reference
1330
1336
 
1331
- - Spec: [`docs/specs/genui-chunk-marker.md`](../../../docs/specs/genui-chunk-marker.md).
1332
- - Plan: [`docs/plans/training-pipeline-chunk-harvest-2026-04-27.md`](../../../docs/plans/training-pipeline-chunk-harvest-2026-04-27.md).
1337
+ - Spec: [`.claude/docs/specs/genui-chunk-marker.md`](../../../.claude/docs/specs/genui-chunk-marker.md).
1338
+ - Plan: [`.claude/docs/plans/training-pipeline-chunk-harvest-2026-04-27.md`](../../../.claude/docs/plans/training-pipeline-chunk-harvest-2026-04-27.md).
1333
1339
 
1334
1340
  ### Other
1335
1341
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/a2ui-mcp",
3
- "version": "0.7.24",
3
+ "version": "0.7.25",
4
4
  "description": "AdiaUI A2UI MCP server. Exposes the compose engine over MCP with an engine selector for monolithic + zettel strategies.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * eval-compose-from-chunks.mjs — Hold-out eval for the chunk-aware
4
- * synthesizer. Per `docs/specs/compose-from-chunks-eval.md`.
4
+ * synthesizer. Per `.claude/docs/specs/compose-from-chunks-eval.md`.
5
5
  *
6
6
  * Reads `packages/a2ui/corpus/evals/holdout-compose-from-chunks.jsonl`,
7
7
  * runs each intent through `composeFromIntent`, and emits a per-intent
@@ -37,7 +37,7 @@
37
37
  * npm run eval:compose-from-chunks -- --real-llm # real-LLM
38
38
  * npm run eval:compose-from-chunks -- --limit 5 # first 5 intents
39
39
  * npm run eval:compose-from-chunks -- --json # JSON report
40
- * npm run eval:compose-from-chunks -- --report-file # write to docs/reports/
40
+ * npm run eval:compose-from-chunks -- --report-file # write to .claude/docs/reports/
41
41
  */
42
42
 
43
43
  import '../../../../scripts/load-env.mjs';
@@ -247,7 +247,7 @@ async function main() {
247
247
 
248
248
  if (FLAG_REPORT) {
249
249
  const date = new Date().toISOString().slice(0, 10);
250
- const dir = path.join(REPO_ROOT, 'docs/reports');
250
+ const dir = path.join(REPO_ROOT, '.claude/docs/reports');
251
251
  if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
252
252
  const file = path.join(dir, `eval-compose-from-chunks-${date}.md`);
253
253
  fs.writeFileSync(file, output + '\n');
@@ -12,8 +12,8 @@
12
12
  * - ≥ 90% of returned ops apply cleanly (validator + applyOps).
13
13
  * - ≤ 5 auto-fired issues across the full run (plan §1.8 #3).
14
14
  *
15
- * Spec: docs/specs/genui-multiturn-architecture.md (Active v0.1.0).
16
- * Plan: docs/plans/genui-multiturn-rollout-2026-04-28.md (Phase A).
15
+ * Spec: .claude/docs/specs/genui-multiturn-architecture.md (Active v0.1.0).
16
+ * Plan: .claude/docs/plans/genui-multiturn-rollout-2026-04-28.md (Phase A).
17
17
  *
18
18
  * Usage:
19
19
  * ANTHROPIC_API_KEY=… node packages/a2ui/mcp/scripts/eval-refine-synthesis.mjs
@@ -3,7 +3,7 @@
3
3
  * Compare two eval-diff run artifacts (JSON) and surface verdict-distribution
4
4
  * + pass-rate deltas. Used to verify "no unexplained regressions" between
5
5
  * baseline and a candidate gating-mode run, per Phase 2 exit criteria of
6
- * `docs/specs/semantic-validator.md`.
6
+ * `.claude/docs/specs/semantic-validator.md`.
7
7
  *
8
8
  * Usage:
9
9
  * node packages/a2ui/mcp/scripts/semantic-stats.mjs <baseline.json> <candidate.json>
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * Goal: identify which IntentSpecs the rule classifier agrees with the LLM
11
11
  * judge on ≥ 95% of the time. Those graduate to fast-path per
12
- * docs/specs/semantic-validator.md § Phase 3 exit criteria.
12
+ * .claude/docs/specs/semantic-validator.md § Phase 3 exit criteria.
13
13
  *
14
14
  * Note: the rule SCORER (scoreAgainstSpec) needs the emitted A2UI tree,
15
15
  * which is not stored in eval-diff archives. This tool measures only
@@ -134,6 +134,6 @@ if (withDisagreements.length > 0) {
134
134
  }
135
135
 
136
136
  console.log(`\n---\n`);
137
- console.log(`*Generated by \`shadow-compare-classify.mjs\` from \`packages/a2ui/validator/semantic/classify-intent.js\`. See [docs/specs/semantic-validator.md § Phase 3](../../../docs/specs/semantic-validator.md) for exit criteria.*`);
137
+ console.log(`*Generated by \`shadow-compare-classify.mjs\` from \`packages/a2ui/validator/semantic/classify-intent.js\`. See [.claude/docs/specs/semantic-validator.md § Phase 3](../../../.claude/docs/specs/semantic-validator.md) for exit criteria.*`);
138
138
 
139
139
  process.exit(0);
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  // Smoke test: issue-reporter (write, trace attach, auto-fire, coalesce, evalMode).
3
- // Spec: docs/specs/genui-multiturn-architecture.md §3.5 + §4.6 + §6.4 + §11.
3
+ // Spec: .claude/docs/specs/genui-multiturn-architecture.md §3.5 + §4.6 + §6.4 + §11.
4
4
 
5
5
  import {
6
6
  reportIssue,
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  // Smoke test: chunk-refiner (validator + applier + 2-pass synthesis with stub LLM).
3
- // Spec: docs/specs/genui-multiturn-architecture.md §4.
3
+ // Spec: .claude/docs/specs/genui-multiturn-architecture.md §4.
4
4
 
5
5
  import {
6
6
  refineFromIntent,
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  // Smoke test: state-cache (LRU + state-id minting).
3
- // Spec: docs/specs/genui-multiturn-architecture.md §2.2 + §4.4.
3
+ // Spec: .claude/docs/specs/genui-multiturn-architecture.md §2.2 + §4.4.
4
4
  import {
5
5
  StateCache,
6
6
  mintStateId,
@@ -287,7 +287,7 @@ try {
287
287
  }
288
288
 
289
289
  // ── Test 7: Multi-turn refinement modules (Phase A) ─────────────────
290
- // Spec: docs/specs/genui-multiturn-architecture.md.
290
+ // Spec: .claude/docs/specs/genui-multiturn-architecture.md.
291
291
 
292
292
  console.log('\n7. Multi-turn refinement (Phase A)');
293
293
 
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Wired into:
9
9
  * - npm run smoke:chunks
10
- * - Phase D verification gate (docs/plans/training-pipeline-chunk-harvest-2026-04-27.md)
10
+ * - Phase D verification gate (.claude/docs/plans/training-pipeline-chunk-harvest-2026-04-27.md)
11
11
  */
12
12
 
13
13
  import {