@fenglimg/fabric-shared 2.3.0-rc.7 → 2.3.0-rc.9

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.
@@ -190,7 +190,6 @@ var enMessages = {
190
190
  "doctor.store.active-personal-unset": "{count} personal stores are mounted but none is active; run `fabric store switch-personal <alias>` to pick one (or `fabric doctor --fix` to default to the first)",
191
191
  "doctor.store.related-broken": "{count} broken `related` link(s) point at ids absent from the corpus: {samples}{overflow} \u2014 fix the related edges via `fab_review` (modify) or edit the entry frontmatter",
192
192
  "doctor.store.related-hub": "related graph hubs (top {shown} of {total} referenced): {top}",
193
- "doctor.store.related-suggested": "{count} high-confidence `related` edge(s) missing between similar entries: {samples}{overflow} \u2014 add the apt ones via `fab_review` (modify) (suggestions only, never auto-applied)",
194
193
  "doctor.store.unreachable": "store '{alias}' is in the read-set but unreachable on disk ({reason}); run `fabric store mount` / re-clone it, then `fabric doctor`",
195
194
  "doctor.store.consumption-heatmap": "top consumed (last {days}d, {consumed}/{total} entries read across {windows} window(s)): {top}",
196
195
  "doctor.store.consumption-zero": "{count} entries never consumed in the last {days}d: {sample}{overflow} \u2014 review for retirement via `fab_review` (consumption is one signal, not proof of rot)",
@@ -1503,7 +1502,6 @@ var zhCNMessages = {
1503
1502
  "doctor.store.active-personal-unset": "\u5DF2\u6302\u8F7D {count} \u4E2A personal store \u4F46\u65E0\u6D3B\u52A8\u6307\u9488;\u8FD0\u884C `fabric store switch-personal <alias>` \u9009\u4E00\u4E2A(\u6216 `fabric doctor --fix` \u9ED8\u8BA4\u53D6\u7B2C\u4E00\u4E2A)",
1504
1503
  "doctor.store.related-broken": "{count} \u6761 `related` \u94FE\u63A5\u6307\u5411\u8BED\u6599\u4E2D\u4E0D\u5B58\u5728\u7684 id:{samples}{overflow} \u2014\u2014 \u901A\u8FC7 `fab_review` (modify) \u4FEE\u590D related \u8FB9,\u6216\u7F16\u8F91\u6761\u76EE frontmatter",
1505
1504
  "doctor.store.related-hub": "related \u56FE\u8C31\u67A2\u7EBD(\u524D {shown} / \u5171 {total} \u4E2A\u88AB\u5F15\u7528):{top}",
1506
- "doctor.store.related-suggested": "{count} \u6761\u9AD8\u7F6E\u4FE1\u5EA6 `related` \u8FB9\u5728\u76F8\u4F3C\u6761\u76EE\u95F4\u7F3A\u5931:{samples}{overflow} \u2014\u2014 \u5408\u9002\u7684\u901A\u8FC7 `fab_review` (modify) \u8865\u4E0A(\u4EC5\u5EFA\u8BAE,\u4E0D\u81EA\u52A8\u5E94\u7528)",
1507
1505
  "doctor.store.unreachable": "store '{alias}' \u5728 read-set \u4E2D\u4F46\u78C1\u76D8\u4E0A\u4E0D\u53EF\u8FBE({reason});\u8FD0\u884C `fabric store mount` / \u91CD\u65B0 clone,\u518D\u8DD1 `fabric doctor`",
1508
1506
  "doctor.store.consumption-heatmap": "\u6D88\u8D39\u70ED\u533A(\u8FD1 {days}d,{consumed}/{total} \u6761\u88AB\u8BFB,\u8DE8 {windows} \u4E2A\u7A97\u53E3):{top}",
1509
1507
  "doctor.store.consumption-zero": "{count} \u6761\u5728\u8FD1 {days}d \u5185\u4ECE\u672A\u88AB\u6D88\u8D39:{sample}{overflow} \u2014\u2014 \u901A\u8FC7 `fab_review` \u8003\u8651\u6DD8\u6C70(\u6D88\u8D39\u91CF\u53EA\u662F\u4FE1\u53F7\u4E4B\u4E00,\u975E\u9648\u65E7\u7684\u8BC1\u636E)",
@@ -681,7 +681,19 @@ var _fabReviewModifyChangesSchema = z3.object({
681
681
  // edges via fab_recall and sends the merged set. Absent this field the modify
682
682
  // path silently dropped `related` via zod .strip() (KT-PIT-0005 recurrence),
683
683
  // leaving the only programmatic related-write path non-functional.
684
- related: z3.array(z3.string()).optional()
684
+ related: z3.array(z3.string()).optional(),
685
+ // rc.9 (2026-07-06): discovery-signal scalar patches — must_read_if triggers
686
+ // Reference-type entry surfacing; intent_clues drives the AI's "should I Read
687
+ // the body?" judgment; impact enumerates consequence prose surfaced in the
688
+ // BM25F body slot. Before rc.9 these three fields were undeclared here, so
689
+ // fab_review modify silently .strip()'d them (KT-PIT-0005 recurrence) and the
690
+ // only path to fix a bad-shape must_read_if / missing intent_clues was direct
691
+ // Edit — bypassing the skill audit trail. All three are REPLACE semantics
692
+ // (mirror tags/related). must_read_if is a scalar string; intent_clues +
693
+ // impact are flow-arrays.
694
+ must_read_if: z3.string().optional(),
695
+ intent_clues: z3.array(z3.string()).optional(),
696
+ impact: z3.array(z3.string()).optional()
685
697
  });
686
698
  var FabReviewInputSchema = z3.discriminatedUnion("action", [
687
699
  z3.object({
@@ -5,7 +5,7 @@ import {
5
5
  enMessages,
6
6
  resolveFabricLocale,
7
7
  zhCNMessages
8
- } from "../chunk-CYOOZQBP.js";
8
+ } from "../chunk-P6INRP3A.js";
9
9
  import {
10
10
  detectNodeLocale,
11
11
  normalizeLocale,
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import "./chunk-LXNCAKJZ.js";
1
2
  import {
2
3
  BOOTSTRAP_CANONICAL_BY_LOCALE,
3
4
  BOOTSTRAP_CANONICAL_EN,
@@ -8,7 +9,6 @@ import {
8
9
  matchBootstrapCanonicalLocale,
9
10
  resolveBootstrapCanonical
10
11
  } from "./chunk-KFFBQRL5.js";
11
- import "./chunk-LXNCAKJZ.js";
12
12
  import {
13
13
  PROTECTED_TOKENS,
14
14
  createTranslator,
@@ -16,7 +16,7 @@ import {
16
16
  enMessages,
17
17
  resolveFabricLocale,
18
18
  zhCNMessages
19
- } from "./chunk-CYOOZQBP.js";
19
+ } from "./chunk-P6INRP3A.js";
20
20
  import {
21
21
  GLOBAL_BINDINGS_DIR,
22
22
  GLOBAL_STATE_DIR,
@@ -116,7 +116,7 @@ import {
116
116
  scopeCoordinateSchema,
117
117
  scopeRoot,
118
118
  structuredWarningSchema
119
- } from "./chunk-CVNJCAC7.js";
119
+ } from "./chunk-TV264D7E.js";
120
120
 
121
121
  // src/schemas/agents-meta.ts
122
122
  import { z } from "zod";
@@ -1244,12 +1244,18 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1244
1244
  relevance_paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1245
1245
  semantic_scope: z.ZodOptional<z.ZodString>;
1246
1246
  related: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1247
+ must_read_if: z.ZodOptional<z.ZodString>;
1248
+ intent_clues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1249
+ impact: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1247
1250
  }, "strip", z.ZodTypeAny, {
1248
1251
  semantic_scope?: string | undefined;
1249
1252
  relevance_scope?: "narrow" | "broad" | undefined;
1250
1253
  relevance_paths?: string[] | undefined;
1251
1254
  layer?: "personal" | "team" | undefined;
1252
1255
  summary?: string | undefined;
1256
+ intent_clues?: string[] | undefined;
1257
+ impact?: string[] | undefined;
1258
+ must_read_if?: string | undefined;
1253
1259
  maturity?: "draft" | "verified" | "proven" | undefined;
1254
1260
  tags?: string[] | undefined;
1255
1261
  related?: string[] | undefined;
@@ -1260,6 +1266,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1260
1266
  relevance_paths?: string[] | undefined;
1261
1267
  layer?: "personal" | "team" | undefined;
1262
1268
  summary?: string | undefined;
1269
+ intent_clues?: string[] | undefined;
1270
+ impact?: string[] | undefined;
1271
+ must_read_if?: string | undefined;
1263
1272
  maturity?: "draft" | "verified" | "proven" | undefined;
1264
1273
  tags?: string[] | undefined;
1265
1274
  related?: string[] | undefined;
@@ -1274,6 +1283,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1274
1283
  relevance_paths?: string[] | undefined;
1275
1284
  layer?: "personal" | "team" | undefined;
1276
1285
  summary?: string | undefined;
1286
+ intent_clues?: string[] | undefined;
1287
+ impact?: string[] | undefined;
1288
+ must_read_if?: string | undefined;
1277
1289
  maturity?: "draft" | "verified" | "proven" | undefined;
1278
1290
  tags?: string[] | undefined;
1279
1291
  related?: string[] | undefined;
@@ -1288,6 +1300,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1288
1300
  relevance_paths?: string[] | undefined;
1289
1301
  layer?: "personal" | "team" | undefined;
1290
1302
  summary?: string | undefined;
1303
+ intent_clues?: string[] | undefined;
1304
+ impact?: string[] | undefined;
1305
+ must_read_if?: string | undefined;
1291
1306
  maturity?: "draft" | "verified" | "proven" | undefined;
1292
1307
  tags?: string[] | undefined;
1293
1308
  related?: string[] | undefined;
@@ -1306,12 +1321,18 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1306
1321
  relevance_paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1307
1322
  semantic_scope: z.ZodOptional<z.ZodString>;
1308
1323
  related: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1324
+ must_read_if: z.ZodOptional<z.ZodString>;
1325
+ intent_clues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1326
+ impact: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1309
1327
  }, "strip", z.ZodTypeAny, {
1310
1328
  semantic_scope?: string | undefined;
1311
1329
  relevance_scope?: "narrow" | "broad" | undefined;
1312
1330
  relevance_paths?: string[] | undefined;
1313
1331
  layer?: "personal" | "team" | undefined;
1314
1332
  summary?: string | undefined;
1333
+ intent_clues?: string[] | undefined;
1334
+ impact?: string[] | undefined;
1335
+ must_read_if?: string | undefined;
1315
1336
  maturity?: "draft" | "verified" | "proven" | undefined;
1316
1337
  tags?: string[] | undefined;
1317
1338
  related?: string[] | undefined;
@@ -1322,6 +1343,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1322
1343
  relevance_paths?: string[] | undefined;
1323
1344
  layer?: "personal" | "team" | undefined;
1324
1345
  summary?: string | undefined;
1346
+ intent_clues?: string[] | undefined;
1347
+ impact?: string[] | undefined;
1348
+ must_read_if?: string | undefined;
1325
1349
  maturity?: "draft" | "verified" | "proven" | undefined;
1326
1350
  tags?: string[] | undefined;
1327
1351
  related?: string[] | undefined;
@@ -1336,6 +1360,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1336
1360
  relevance_paths?: string[] | undefined;
1337
1361
  layer?: "personal" | "team" | undefined;
1338
1362
  summary?: string | undefined;
1363
+ intent_clues?: string[] | undefined;
1364
+ impact?: string[] | undefined;
1365
+ must_read_if?: string | undefined;
1339
1366
  maturity?: "draft" | "verified" | "proven" | undefined;
1340
1367
  tags?: string[] | undefined;
1341
1368
  related?: string[] | undefined;
@@ -1350,6 +1377,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1350
1377
  relevance_paths?: string[] | undefined;
1351
1378
  layer?: "personal" | "team" | undefined;
1352
1379
  summary?: string | undefined;
1380
+ intent_clues?: string[] | undefined;
1381
+ impact?: string[] | undefined;
1382
+ must_read_if?: string | undefined;
1353
1383
  maturity?: "draft" | "verified" | "proven" | undefined;
1354
1384
  tags?: string[] | undefined;
1355
1385
  related?: string[] | undefined;
@@ -1367,6 +1397,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1367
1397
  relevance_paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1368
1398
  semantic_scope: z.ZodOptional<z.ZodString>;
1369
1399
  related: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1400
+ must_read_if: z.ZodOptional<z.ZodString>;
1401
+ intent_clues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1402
+ impact: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1370
1403
  } & {
1371
1404
  layer: z.ZodEnum<["team", "personal"]>;
1372
1405
  }, "strip", z.ZodTypeAny, {
@@ -1375,6 +1408,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1375
1408
  relevance_scope?: "narrow" | "broad" | undefined;
1376
1409
  relevance_paths?: string[] | undefined;
1377
1410
  summary?: string | undefined;
1411
+ intent_clues?: string[] | undefined;
1412
+ impact?: string[] | undefined;
1413
+ must_read_if?: string | undefined;
1378
1414
  maturity?: "draft" | "verified" | "proven" | undefined;
1379
1415
  tags?: string[] | undefined;
1380
1416
  related?: string[] | undefined;
@@ -1385,6 +1421,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1385
1421
  relevance_scope?: "narrow" | "broad" | undefined;
1386
1422
  relevance_paths?: string[] | undefined;
1387
1423
  summary?: string | undefined;
1424
+ intent_clues?: string[] | undefined;
1425
+ impact?: string[] | undefined;
1426
+ must_read_if?: string | undefined;
1388
1427
  maturity?: "draft" | "verified" | "proven" | undefined;
1389
1428
  tags?: string[] | undefined;
1390
1429
  related?: string[] | undefined;
@@ -1399,6 +1438,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1399
1438
  relevance_scope?: "narrow" | "broad" | undefined;
1400
1439
  relevance_paths?: string[] | undefined;
1401
1440
  summary?: string | undefined;
1441
+ intent_clues?: string[] | undefined;
1442
+ impact?: string[] | undefined;
1443
+ must_read_if?: string | undefined;
1402
1444
  maturity?: "draft" | "verified" | "proven" | undefined;
1403
1445
  tags?: string[] | undefined;
1404
1446
  related?: string[] | undefined;
@@ -1413,6 +1455,9 @@ declare const FabReviewInputSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObje
1413
1455
  relevance_scope?: "narrow" | "broad" | undefined;
1414
1456
  relevance_paths?: string[] | undefined;
1415
1457
  summary?: string | undefined;
1458
+ intent_clues?: string[] | undefined;
1459
+ impact?: string[] | undefined;
1460
+ must_read_if?: string | undefined;
1416
1461
  maturity?: "draft" | "verified" | "proven" | undefined;
1417
1462
  tags?: string[] | undefined;
1418
1463
  related?: string[] | undefined;
@@ -1595,12 +1640,18 @@ declare const FabReviewInputShape: {
1595
1640
  relevance_paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1596
1641
  semantic_scope: z.ZodOptional<z.ZodString>;
1597
1642
  related: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1643
+ must_read_if: z.ZodOptional<z.ZodString>;
1644
+ intent_clues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1645
+ impact: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1598
1646
  }, "strip", z.ZodTypeAny, {
1599
1647
  semantic_scope?: string | undefined;
1600
1648
  relevance_scope?: "narrow" | "broad" | undefined;
1601
1649
  relevance_paths?: string[] | undefined;
1602
1650
  layer?: "personal" | "team" | undefined;
1603
1651
  summary?: string | undefined;
1652
+ intent_clues?: string[] | undefined;
1653
+ impact?: string[] | undefined;
1654
+ must_read_if?: string | undefined;
1604
1655
  maturity?: "draft" | "verified" | "proven" | undefined;
1605
1656
  tags?: string[] | undefined;
1606
1657
  related?: string[] | undefined;
@@ -1611,6 +1662,9 @@ declare const FabReviewInputShape: {
1611
1662
  relevance_paths?: string[] | undefined;
1612
1663
  layer?: "personal" | "team" | undefined;
1613
1664
  summary?: string | undefined;
1665
+ intent_clues?: string[] | undefined;
1666
+ impact?: string[] | undefined;
1667
+ must_read_if?: string | undefined;
1614
1668
  maturity?: "draft" | "verified" | "proven" | undefined;
1615
1669
  tags?: string[] | undefined;
1616
1670
  related?: string[] | undefined;
@@ -47,7 +47,7 @@ import {
47
47
  recallInputSchema,
48
48
  recallOutputSchema,
49
49
  structuredWarningSchema
50
- } from "../chunk-CVNJCAC7.js";
50
+ } from "../chunk-TV264D7E.js";
51
51
  export {
52
52
  FabExtractKnowledgeInputSchema,
53
53
  FabExtractKnowledgeInputShape,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fenglimg/fabric-shared",
3
- "version": "2.3.0-rc.7",
3
+ "version": "2.3.0-rc.9",
4
4
  "description": "Fabric shared types — Zod schemas, i18n, atomic-write helpers, MCP payload guard, error classes. Consumed by @fenglimg/fabric-server + @fenglimg/fabric-cli.",
5
5
  "license": "MIT",
6
6
  "author": "wangzhichao <fenglimg90@gmail.com>",