@adia-ai/a2ui-mcp 0.0.4 → 0.0.5
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 +32 -0
- package/package.json +2 -2
- package/scripts/test-a2ui.mjs +20 -16
- package/server.js +4 -10
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,38 @@ zettel strategies.
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
## [0.0.5] - 2026-04-28
|
|
15
|
+
|
|
16
|
+
**Retires the legacy exemplar auto-ingest.** Server boot no longer pulls
|
|
17
|
+
70 patterns from the prose exemplars on every start. The chunk corpus
|
|
18
|
+
+ chunk-aware synthesizer is the training surface now (`compose_from_chunks`
|
|
19
|
+
+ `search_chunks` + `get_chunk` + `lookup_chunk` from 0.0.2).
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **`server.js` boot path** — removed the `auto-ingest` block that called
|
|
24
|
+
`ingestAll()` at startup. The runtime pattern library reverts from 225
|
|
25
|
+
(155 hand-authored + 70 ingested) to **155 hand-authored only**. Eval
|
|
26
|
+
metrics confirm no regression: `eval:diff zettel` still reports
|
|
27
|
+
coverage 83 / score 89; `smoke:chunks` still 33/33; `eval:chunk-synthesis`
|
|
28
|
+
still PASS at 100% / 9 retrieval / 1 synthesis on the hold-out set.
|
|
29
|
+
- **`test:a2ui` test 6 updated** — was asserting "post-ingest count ≥ 200
|
|
30
|
+
patterns"; now asserts the two training-corpus surfaces independently:
|
|
31
|
+
pattern library ≥ 100 hand-authored entries (155 today), chunk corpus
|
|
32
|
+
≥ 500 unique chunks (701 today).
|
|
33
|
+
|
|
34
|
+
### Dependencies
|
|
35
|
+
|
|
36
|
+
- Bumps `@adia-ai/a2ui-corpus` requirement from `^0.0.5` to `^0.0.6`.
|
|
37
|
+
|
|
38
|
+
### Migration (none required)
|
|
39
|
+
|
|
40
|
+
- Pure runtime simplification. Existing MCP consumers experience the
|
|
41
|
+
same tool surface; the only observable change is faster boot (no
|
|
42
|
+
ingest round trip) and a smaller in-memory pattern library.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
14
46
|
## [0.0.4] - 2026-04-28
|
|
15
47
|
|
|
16
48
|
Dependency-only bump to pull `@adia-ai/a2ui-corpus@^0.0.5` (one fewer
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/a2ui-mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
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": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@adia-ai/a2ui-compose": "^0.0.1",
|
|
30
30
|
"@adia-ai/a2ui-retrieval": "^0.0.1",
|
|
31
31
|
"@adia-ai/a2ui-validator": "^0.0.1",
|
|
32
|
-
"@adia-ai/a2ui-corpus": "^0.0.
|
|
32
|
+
"@adia-ai/a2ui-corpus": "^0.0.6",
|
|
33
33
|
"zod": "^3.24.0"
|
|
34
34
|
}
|
|
35
35
|
}
|
package/scripts/test-a2ui.mjs
CHANGED
|
@@ -236,28 +236,32 @@ if (!THINKING) {
|
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
|
|
239
|
-
// ── Test 6: Training
|
|
239
|
+
// ── Test 6: Training corpus surfaces ────────────────────────────────
|
|
240
|
+
// (The legacy exemplar extract → ingest path was retired 2026-04-28 in
|
|
241
|
+
// mcp 0.0.5. The chunk corpus is the training surface now.)
|
|
240
242
|
|
|
241
|
-
console.log('\n6. Training
|
|
243
|
+
console.log('\n6. Training corpus surfaces');
|
|
242
244
|
|
|
245
|
+
// 6a. Hand-authored pattern library — should be ≥ 100 entries.
|
|
246
|
+
const patterns = listPatterns();
|
|
247
|
+
if (patterns.length >= 100) {
|
|
248
|
+
ok('Pattern library', `${patterns.length} hand-authored patterns`);
|
|
249
|
+
} else {
|
|
250
|
+
bad('Pattern library', `only ${patterns.length} (expected ≥ 100)`);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// 6b. Gen-UI chunk corpus — should be ≥ 500 unique chunks across
|
|
254
|
+
// page / panel / block kinds.
|
|
243
255
|
try {
|
|
244
|
-
const {
|
|
245
|
-
const
|
|
246
|
-
if (
|
|
247
|
-
ok('
|
|
256
|
+
const { getChunkIndex } = await import('../../corpus/scripts/chunk-library.js');
|
|
257
|
+
const idx = getChunkIndex();
|
|
258
|
+
if (idx && idx.unique_names >= 500 && idx.by_kind.block && idx.by_kind.page) {
|
|
259
|
+
ok('Chunk corpus', `${idx.unique_names} chunks (${idx.total_instances} instances; block=${idx.by_kind.block}, panel=${idx.by_kind.panel || 0}, page=${idx.by_kind.page})`);
|
|
248
260
|
} else {
|
|
249
|
-
bad('
|
|
261
|
+
bad('Chunk corpus', `unexpected index: ${JSON.stringify(idx)}`);
|
|
250
262
|
}
|
|
251
263
|
} catch (e) {
|
|
252
|
-
bad('
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
// Final check: pattern count after ingestion
|
|
256
|
-
const afterPatterns = listPatterns();
|
|
257
|
-
if (afterPatterns.length >= 200) {
|
|
258
|
-
ok('Post-ingest count', `${afterPatterns.length} patterns`);
|
|
259
|
-
} else {
|
|
260
|
-
bad('Post-ingest count', `only ${afterPatterns.length} (expected 200+)`);
|
|
264
|
+
bad('Chunk corpus', e.message);
|
|
261
265
|
}
|
|
262
266
|
|
|
263
267
|
// ── Summary ─────────────────────────────────────────────────────────
|
package/server.js
CHANGED
|
@@ -752,16 +752,10 @@ plan to skip the LLM call and just materialize HTML.`,
|
|
|
752
752
|
async function main() {
|
|
753
753
|
const transport = new StdioServerTransport();
|
|
754
754
|
|
|
755
|
-
// Auto-ingest
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
if (result.registered > 0 || result.replaced > 0) {
|
|
760
|
-
console.error(`Training: ingested ${result.registered} new + ${result.replaced} replaced patterns (${result.pages} pages, ${result.chunks} chunks)`);
|
|
761
|
-
}
|
|
762
|
-
} catch (e) {
|
|
763
|
-
console.error(`Training: ingest skipped — ${e.message}`);
|
|
764
|
-
}
|
|
755
|
+
// (Auto-ingest of exemplar-derived patterns retired 2026-04-28 in
|
|
756
|
+
// mcp 0.0.5. The chunk corpus + chunk-aware synthesizer are the
|
|
757
|
+
// training surface now; the legacy extract → ingest path that pulled
|
|
758
|
+
// 70 patterns from prose exemplars on every server boot is gone.)
|
|
765
759
|
|
|
766
760
|
await server.connect(transport);
|
|
767
761
|
const catalog = await getCatalog();
|