@adia-ai/a2ui-mcp 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-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
+
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
@@ -312,7 +323,7 @@
312
323
  ## [0.6.15] — 2026-05-21
313
324
 
314
325
  ### Maintenance
315
- - **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.
316
327
 
317
328
  ## [0.6.14] — 2026-05-21
318
329
 
@@ -639,7 +650,7 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
639
650
 
640
651
  ### Added
641
652
 
642
- - `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`.
643
654
 
644
655
  ### Ride-along (otherwise no source changes)
645
656
 
@@ -677,7 +688,7 @@ Lockstep version bump only — source byte-identical to v0.3.4. Internal `@adia-
677
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.
678
689
  ## [0.3.3] - 2026-05-07
679
690
 
680
- **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`).
681
692
 
682
693
  ### Added
683
694
 
@@ -715,7 +726,7 @@ Lockstep version bump only — source byte-identical to v0.3.3. Internal `@adia-
715
726
  ## [0.3.2] - 2026-05-06
716
727
 
717
728
  **9-package lockstep patch cut to v0.3.2.** All lockstep members share
718
- 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).
719
730
  Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
720
731
 
721
732
  ### Added
@@ -739,7 +750,7 @@ Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
739
750
  - `version`: `0.3.1` → `0.3.2`.
740
751
  ## [0.3.1] - 2026-05-06
741
752
 
742
- **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).
743
754
 
744
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).
745
756
 
@@ -749,7 +760,7 @@ This package itself ships **no source changes** in v0.3.1. The cut bumps version
749
760
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
750
761
  ## [0.3.0] - 2026-05-05
751
762
 
752
- **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`.
753
764
 
754
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.
755
766
 
@@ -774,9 +785,9 @@ If you depend on `@adia-ai/a2ui-mcp` directly (typically as a CLI via `npx adiau
774
785
  `@adia-ai/llm` is a transitive dep — npm install handles it.
775
786
  ## [0.2.5] - 2026-05-04
776
787
 
777
- **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).
778
789
 
779
- 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.
780
791
 
781
792
  ### Changed
782
793
 
@@ -784,7 +795,7 @@ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive conte
784
795
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
785
796
  ## [0.2.4] - 2026-05-04
786
797
 
787
- **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).
788
799
 
789
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.
790
801
 
@@ -804,7 +815,7 @@ _Nothing yet._
804
815
 
805
816
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
806
817
  0.2.2 → 0.2.3 per
807
- [`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).
808
819
  Patch cut — no breaking changes.
809
820
 
810
821
  ### Changed
@@ -819,7 +830,7 @@ Patch cut — no breaking changes.
819
830
  `@adia-ai/a2ui-mcp` source is byte-identical to `0.2.2`. The cut bumps version + the internal dep range entries only.
820
831
  ## [0.2.2] - 2026-05-02
821
832
 
822
- **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.
823
834
 
824
835
  ### Changed
825
836
 
@@ -837,7 +848,7 @@ Patch cut — no breaking changes.
837
848
  ---
838
849
  ## [0.2.1] - 2026-05-02
839
850
 
840
- **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.
841
852
 
842
853
  ### Changed
843
854
 
@@ -869,7 +880,7 @@ When the composer's scope-drift gate (a2ui-compose) flags `result.scopeDrift.dri
869
880
 
870
881
  **Lockstep cut + corpus caret-lock fix.** All 8 published `@adia-ai/*`
871
882
  packages now share one version, governed by
872
- [`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).
873
884
 
874
885
  This release **fixes a live shipping bug** in 0.1.3: the `dependencies`
875
886
  range `"@adia-ai/a2ui-corpus": "^0.0.6"` locked to *exactly* `0.0.6`
@@ -910,7 +921,7 @@ BREAKING changes.
910
921
 
911
922
  - **`compose_from_chunks` eval runner + hold-out set**. Closes the
912
923
  spec at
913
- [`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):
914
925
  - `evals/compose-from-chunks-holdout.jsonl` — 20 intents (10
915
926
  single-turn compose + 10 multi-turn refine) across 9
916
927
  categories (data-display, forms, layout, data, data-viz,
@@ -940,7 +951,7 @@ BREAKING changes.
940
951
  ---
941
952
  ## [0.1.2] - 2026-05-01
942
953
 
943
- 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)
944
955
  **promoted to default**. When `--semantic` is set, `eval-diff.mjs`
945
956
  now gates on the combined score at threshold 80 by default, instead
946
957
  of running in Phase 1 shadow-mode. **Behavior change** — see § Opt
@@ -996,7 +1007,7 @@ Pass rate drops from 83 → 79 (4 percentage points), all justified.
996
1007
 
997
1008
  ### Updated baseline thresholds
998
1009
 
999
- 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)
1000
1011
  § Phase 2 status (2026-05-01):
1001
1012
 
1002
1013
  - `avgScore ≥ 88` (structural — unchanged)
@@ -1014,7 +1025,7 @@ Per [`docs/specs/semantic-validator.md`](../../../docs/specs/semantic-validator.
1014
1025
  threshold revalidation passes
1015
1026
  ## [0.1.1] - 2026-05-01
1016
1027
 
1017
- 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)
1018
1029
  — opt-in combined-gating in `eval-diff.mjs` + new
1019
1030
  `semantic-stats.mjs` companion script. **No breaking changes.**
1020
1031
  Default `eval-diff` behavior unchanged — Phase 1 shadow-mode is
@@ -1085,8 +1096,8 @@ MCP tools that turn the chunk-composition pipeline from single-shot into a
1085
1096
  multi-turn surface, plus extends `compose_from_chunks` to mint a `state_id`
1086
1097
  for refinement chains.
1087
1098
 
1088
- Spec: [`docs/specs/genui-multiturn-architecture.md`](../../../docs/specs/genui-multiturn-architecture.md) (Active v0.1.0).
1089
- 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).
1090
1101
  ADR: [`0008-multiturn-genui-architecture.md`](../../../.brain/adrs/0008-multiturn-genui-architecture.md).
1091
1102
 
1092
1103
  ### Added (MCP tools)
@@ -1323,8 +1334,8 @@ before HTML is materialized.
1323
1334
 
1324
1335
  ### Convention reference
1325
1336
 
1326
- - Spec: [`docs/specs/genui-chunk-marker.md`](../../../docs/specs/genui-chunk-marker.md).
1327
- - 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).
1328
1339
 
1329
1340
  ### Other
1330
1341
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/a2ui-mcp",
3
- "version": "0.7.23",
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 {