@roarpeng/graphflow 1.7.15 → 1.9.0

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.
Files changed (111) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +21 -10
  3. package/dist/config/defaults.d.ts.map +1 -1
  4. package/dist/config/defaults.js +3 -0
  5. package/dist/config/defaults.js.map +1 -1
  6. package/dist/config/embedding-factory.d.ts +22 -0
  7. package/dist/config/embedding-factory.d.ts.map +1 -1
  8. package/dist/config/embedding-factory.js +81 -57
  9. package/dist/config/embedding-factory.js.map +1 -1
  10. package/dist/config/graphify-endpoint.d.ts +9 -0
  11. package/dist/config/graphify-endpoint.d.ts.map +1 -0
  12. package/dist/config/graphify-endpoint.js +24 -0
  13. package/dist/config/graphify-endpoint.js.map +1 -0
  14. package/dist/config/loader.d.ts.map +1 -1
  15. package/dist/config/loader.js +20 -4
  16. package/dist/config/loader.js.map +1 -1
  17. package/dist/config/schema.d.ts +16 -0
  18. package/dist/config/schema.d.ts.map +1 -1
  19. package/dist/core/agent-delegation.d.ts +15 -1
  20. package/dist/core/agent-delegation.d.ts.map +1 -1
  21. package/dist/core/agent-delegation.js +99 -4
  22. package/dist/core/agent-delegation.js.map +1 -1
  23. package/dist/core/goal-anchor.d.ts +70 -0
  24. package/dist/core/goal-anchor.d.ts.map +1 -0
  25. package/dist/core/goal-anchor.js +253 -0
  26. package/dist/core/goal-anchor.js.map +1 -0
  27. package/dist/core/merge-agent-insight.d.ts +10 -0
  28. package/dist/core/merge-agent-insight.d.ts.map +1 -1
  29. package/dist/core/merge-agent-insight.js +36 -1
  30. package/dist/core/merge-agent-insight.js.map +1 -1
  31. package/dist/core/orchestrator-context.d.ts +7 -1
  32. package/dist/core/orchestrator-context.d.ts.map +1 -1
  33. package/dist/core/orchestrator-context.js +28 -3
  34. package/dist/core/orchestrator-context.js.map +1 -1
  35. package/dist/core/orchestrator-episode.d.ts +7 -0
  36. package/dist/core/orchestrator-episode.d.ts.map +1 -1
  37. package/dist/core/orchestrator-episode.js +18 -0
  38. package/dist/core/orchestrator-episode.js.map +1 -1
  39. package/dist/core/orchestrator.d.ts.map +1 -1
  40. package/dist/core/orchestrator.js +5 -1
  41. package/dist/core/orchestrator.js.map +1 -1
  42. package/dist/core/submit-agent-insight.d.ts +15 -0
  43. package/dist/core/submit-agent-insight.d.ts.map +1 -1
  44. package/dist/core/submit-agent-insight.js +43 -1
  45. package/dist/core/submit-agent-insight.js.map +1 -1
  46. package/dist/graph/client-factory.d.ts.map +1 -1
  47. package/dist/graph/client-factory.js +17 -1
  48. package/dist/graph/client-factory.js.map +1 -1
  49. package/dist/graph/graphify-mcp-client.d.ts +46 -4
  50. package/dist/graph/graphify-mcp-client.d.ts.map +1 -1
  51. package/dist/graph/graphify-mcp-client.js +99 -22
  52. package/dist/graph/graphify-mcp-client.js.map +1 -1
  53. package/dist/graph/language-indexers/plcopen-xml.d.ts.map +1 -1
  54. package/dist/graph/language-indexers/plcopen-xml.js +18 -1
  55. package/dist/graph/language-indexers/plcopen-xml.js.map +1 -1
  56. package/dist/graph/language-indexers/st-analyzer.d.ts.map +1 -1
  57. package/dist/graph/language-indexers/st-analyzer.js +4 -2
  58. package/dist/graph/language-indexers/st-analyzer.js.map +1 -1
  59. package/dist/learning/embedding-quality.d.ts.map +1 -1
  60. package/dist/learning/embedding-quality.js +2 -0
  61. package/dist/learning/embedding-quality.js.map +1 -1
  62. package/dist/learning/episodic-memory.d.ts +11 -1
  63. package/dist/learning/episodic-memory.d.ts.map +1 -1
  64. package/dist/learning/episodic-memory.js +16 -1
  65. package/dist/learning/episodic-memory.js.map +1 -1
  66. package/dist/learning/seed-skills.d.ts.map +1 -1
  67. package/dist/learning/seed-skills.js +8 -0
  68. package/dist/learning/seed-skills.js.map +1 -1
  69. package/dist/learning/skill-flywheel.d.ts +46 -3
  70. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  71. package/dist/learning/skill-flywheel.js +225 -8
  72. package/dist/learning/skill-flywheel.js.map +1 -1
  73. package/dist/learning/skill-package.d.ts +49 -8
  74. package/dist/learning/skill-package.d.ts.map +1 -1
  75. package/dist/learning/skill-package.js +127 -20
  76. package/dist/learning/skill-package.js.map +1 -1
  77. package/dist/learning/skill-store.d.ts.map +1 -1
  78. package/dist/learning/skill-store.js +12 -0
  79. package/dist/learning/skill-store.js.map +1 -1
  80. package/dist/learning/skill-types.d.ts +29 -0
  81. package/dist/learning/skill-types.d.ts.map +1 -1
  82. package/dist/learning/skill-types.js.map +1 -1
  83. package/dist/routing/provider-executor.d.ts +6 -0
  84. package/dist/routing/provider-executor.d.ts.map +1 -1
  85. package/dist/routing/provider-executor.js +10 -1
  86. package/dist/routing/provider-executor.js.map +1 -1
  87. package/dist/surfaces/cli/index.js +16 -6
  88. package/dist/surfaces/cli/index.js.map +1 -1
  89. package/dist/surfaces/cli/output.js +2 -2
  90. package/dist/surfaces/cli/output.js.map +1 -1
  91. package/dist/surfaces/cli/runtime/facade.d.ts +2 -1
  92. package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -1
  93. package/dist/surfaces/cli/runtime/facade.js +1 -0
  94. package/dist/surfaces/cli/runtime/facade.js.map +1 -1
  95. package/dist/surfaces/cli/runtime/graph.d.ts +41 -4
  96. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  97. package/dist/surfaces/cli/runtime/graph.js +79 -8
  98. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  99. package/dist/surfaces/cli/runtime/routing.d.ts +2 -1
  100. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  101. package/dist/surfaces/cli/runtime/routing.js +30 -3
  102. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  103. package/dist/surfaces/cli/runtime/types.d.ts +4 -0
  104. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
  105. package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
  106. package/dist/surfaces/mcp/tool-definitions.js +5 -0
  107. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  108. package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
  109. package/dist/surfaces/mcp/tool-handlers.js +4 -1
  110. package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
  111. package/package.json +2 -1
@@ -1,18 +1,31 @@
1
1
  /**
2
- * skill-package.ts — 技能包导入 / 导出
2
+ * skill-package.ts — 技能包导入 / 导出(双向 MERGE)
3
3
  *
4
4
  * 将图存储中所有 Skill 类型节点导出为可移植的 JSON 技能包,
5
- * 方便团队共享与跨工作区迁移。导入时自动跳过已存在的技能,避免覆盖。
5
+ * 方便团队共享与跨工作区迁移。导入采用双向 MERGE(而非覆盖)。
6
6
  *
7
7
  * 技能包格式:
8
8
  * ```json
9
9
  * {
10
- * "version": "1.0",
10
+ * "version": "1.1",
11
11
  * "exportedAt": "2026-01-01T00:00:00.000Z",
12
- * "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ]
12
+ * "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ],
13
+ * "goldenQueries": [ "自然语言检索查询 ..." ]
13
14
  * }
14
15
  * ```
15
16
  *
17
+ * 冲突策略(import,默认 / 未带 --force 时):
18
+ * - 按技能 id 取并集(per-skill-id union)。
19
+ * - 同 id 冲突时 `updatedAt` 较新者胜(incoming.updatedAt > local.updatedAt 才覆盖)。
20
+ * - `updatedAt` 相同(并列)保留本地,不回写。
21
+ * - 仅本地存在的技能一律保留;仅包中存在的技能导入。
22
+ * - `--force` 恢复覆盖(overwrite)语义:包中所有技能无条件写入本地。
23
+ *
24
+ * goldenQueries(团队 golden 检索基准集,随包传递):
25
+ * - export:把 canonical 查询列表打包进 `goldenQueries` 字段。
26
+ * - import:把包内查询合并进本地集合(按查询文本去重、本地优先排序),
27
+ * 写入 `.graphflow/team-golden.json` 旁车文件(绝不写回测试文件)。
28
+ *
16
29
  * 设计参考 src/graph/artifact-manager.ts 的导入/导出模式。
17
30
  */
18
31
  import type { GraphNode } from "../core/types";
@@ -21,35 +34,63 @@ import type { GraphClient } from "../graph/client-factory";
21
34
  export type SkillNode = GraphNode;
22
35
  /** 技能包格式 */
23
36
  export interface SkillPackage {
24
- version: "1.0";
37
+ version: "1.1";
25
38
  exportedAt: string;
26
39
  skills: SkillNode[];
40
+ /** 团队 golden 检索基准查询(查询文本列表) */
41
+ goldenQueries?: string[];
42
+ }
43
+ /** 导出选项 */
44
+ export interface SkillExportOptions {
45
+ /** 打包进技能包的 golden 查询列表 */
46
+ goldenQueries?: string[];
47
+ }
48
+ /** 导入选项 */
49
+ export interface SkillImportOptions {
50
+ /** 恢复覆盖语义:包中技能无条件写入,golden 查询整组覆盖旁车文件 */
51
+ force?: boolean;
52
+ /** golden 旁车文件路径(.graphflow/team-golden.json) */
53
+ goldenPath?: string;
27
54
  }
28
55
  /** 导出结果 */
29
56
  export interface SkillExportResult {
30
57
  path: string;
31
58
  skillCount: number;
32
59
  bytes: number;
60
+ /** 打包的 golden 查询数(未打包时省略) */
61
+ goldenQueries?: number;
33
62
  }
34
63
  /** 导入结果 */
35
64
  export interface SkillImportResult {
36
65
  path: string;
37
66
  imported: number;
38
67
  skipped: number;
68
+ /** 冲突中 updatedAt 较新者胜、覆盖了本地版本的条数(计入 imported) */
69
+ updated: number;
39
70
  total: number;
71
+ /** 合并后写入的 golden 旁车文件路径(技能包携带 goldenQueries 时) */
72
+ goldenPath?: string;
73
+ /** 合并后的 golden 查询数 */
74
+ goldenQueries?: number;
40
75
  }
41
76
  /**
42
77
  * 导出所有 Skill 类型节点为 JSON 技能包。
43
78
  *
44
79
  * @param graphClient 图存储客户端
45
80
  * @param outputPath 输出文件路径
81
+ * @param opts 导出选项(可携带 goldenQueries)
46
82
  */
47
- export declare function exportSkillPackage(graphClient: GraphClient, outputPath: string): Promise<SkillExportResult>;
83
+ export declare function exportSkillPackage(graphClient: GraphClient, outputPath: string, opts?: SkillExportOptions): Promise<SkillExportResult>;
48
84
  /**
49
- * 导入技能包,跳过已存在的技能。
85
+ * 导入技能包(双向 MERGE)。
86
+ *
87
+ * 冲突策略见文件头注释:per-skill-id union、updatedAt 较新者胜、
88
+ * 并列保留本地、本地独有技能保留;`opts.force` 恢复覆盖语义。
89
+ * 技能包携带 goldenQueries 时,合并进本地集合并写入 goldenPath 旁车文件。
50
90
  *
51
91
  * @param graphClient 图存储客户端
52
92
  * @param inputPath 输入文件路径
93
+ * @param opts 导入选项(force / goldenPath)
53
94
  */
54
- export declare function importSkillPackage(graphClient: GraphClient, inputPath: string): Promise<SkillImportResult>;
95
+ export declare function importSkillPackage(graphClient: GraphClient, inputPath: string, opts?: SkillImportOptions): Promise<SkillImportResult>;
55
96
  //# sourceMappingURL=skill-package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-package.d.ts","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,kCAAkC;AAClC,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,YAAY;AACZ,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CA6B5B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAgE5B"}
1
+ {"version":3,"file":"skill-package.d.ts","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,kCAAkC;AAClC,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,YAAY;AACZ,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,WAAW;AACX,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,WAAW;AACX,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAkDD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAmC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAmG5B"}
@@ -1,19 +1,32 @@
1
1
  "use strict";
2
2
  /**
3
- * skill-package.ts — 技能包导入 / 导出
3
+ * skill-package.ts — 技能包导入 / 导出(双向 MERGE)
4
4
  *
5
5
  * 将图存储中所有 Skill 类型节点导出为可移植的 JSON 技能包,
6
- * 方便团队共享与跨工作区迁移。导入时自动跳过已存在的技能,避免覆盖。
6
+ * 方便团队共享与跨工作区迁移。导入采用双向 MERGE(而非覆盖)。
7
7
  *
8
8
  * 技能包格式:
9
9
  * ```json
10
10
  * {
11
- * "version": "1.0",
11
+ * "version": "1.1",
12
12
  * "exportedAt": "2026-01-01T00:00:00.000Z",
13
- * "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ]
13
+ * "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ],
14
+ * "goldenQueries": [ "自然语言检索查询 ..." ]
14
15
  * }
15
16
  * ```
16
17
  *
18
+ * 冲突策略(import,默认 / 未带 --force 时):
19
+ * - 按技能 id 取并集(per-skill-id union)。
20
+ * - 同 id 冲突时 `updatedAt` 较新者胜(incoming.updatedAt > local.updatedAt 才覆盖)。
21
+ * - `updatedAt` 相同(并列)保留本地,不回写。
22
+ * - 仅本地存在的技能一律保留;仅包中存在的技能导入。
23
+ * - `--force` 恢复覆盖(overwrite)语义:包中所有技能无条件写入本地。
24
+ *
25
+ * goldenQueries(团队 golden 检索基准集,随包传递):
26
+ * - export:把 canonical 查询列表打包进 `goldenQueries` 字段。
27
+ * - import:把包内查询合并进本地集合(按查询文本去重、本地优先排序),
28
+ * 写入 `.graphflow/team-golden.json` 旁车文件(绝不写回测试文件)。
29
+ *
17
30
  * 设计参考 src/graph/artifact-manager.ts 的导入/导出模式。
18
31
  */
19
32
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -22,15 +35,63 @@ exports.importSkillPackage = importSkillPackage;
22
35
  const node_fs_1 = require("node:fs");
23
36
  const node_path_1 = require("node:path");
24
37
  const logger_1 = require("../utils/logger");
25
- /** 技能包版本 */
26
- const SKILL_PACKAGE_VERSION = "1.0";
38
+ /** 技能包版本(v1.1 起携带 goldenQueries 与 MERGE 导入语义) */
39
+ const SKILL_PACKAGE_VERSION = "1.1";
40
+ /**
41
+ * 读取技能节点的 updatedAt(epoch ms)。
42
+ * 优先从 content JSON(SkillState.updatedAt)解析,回退到 metadata.updatedAt。
43
+ */
44
+ function skillUpdatedAt(node) {
45
+ try {
46
+ const parsed = JSON.parse(node.content);
47
+ if (typeof parsed.updatedAt === "number") {
48
+ return parsed.updatedAt;
49
+ }
50
+ }
51
+ catch {
52
+ // content 非 JSON,尝试 metadata
53
+ }
54
+ const meta = node.metadata?.updatedAt;
55
+ return typeof meta === "number" ? meta : 0;
56
+ }
57
+ /**
58
+ * 合并 golden 查询:本地优先(保序),按查询文本精确去重,再追加包内新查询。
59
+ */
60
+ function mergeGoldenQueries(local, incoming) {
61
+ const seen = new Set();
62
+ const merged = [];
63
+ for (const query of [...local, ...incoming]) {
64
+ if (typeof query !== "string" || query.trim() === "") {
65
+ continue;
66
+ }
67
+ if (!seen.has(query)) {
68
+ seen.add(query);
69
+ merged.push(query);
70
+ }
71
+ }
72
+ return merged;
73
+ }
74
+ /** 读取 golden 旁车文件,非法/缺失时返回空列表。 */
75
+ function readGoldenQueries(path) {
76
+ try {
77
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, "utf8"));
78
+ if (Array.isArray(parsed)) {
79
+ return parsed.filter((q) => typeof q === "string");
80
+ }
81
+ }
82
+ catch {
83
+ // 旁车文件缺失或损坏 → 视为空本地集合
84
+ }
85
+ return [];
86
+ }
27
87
  /**
28
88
  * 导出所有 Skill 类型节点为 JSON 技能包。
29
89
  *
30
90
  * @param graphClient 图存储客户端
31
91
  * @param outputPath 输出文件路径
92
+ * @param opts 导出选项(可携带 goldenQueries)
32
93
  */
33
- async function exportSkillPackage(graphClient, outputPath) {
94
+ async function exportSkillPackage(graphClient, outputPath, opts) {
34
95
  // 收集所有 Skill 类型节点
35
96
  let skills = [];
36
97
  if (graphClient.readSnapshot) {
@@ -42,25 +103,36 @@ async function exportSkillPackage(graphClient, outputPath) {
42
103
  const hits = await graphClient.queryByKeyword("skill");
43
104
  skills = hits.filter((n) => n.type === "Skill");
44
105
  }
106
+ const goldenQueries = opts?.goldenQueries?.filter((q) => typeof q === "string") ?? [];
45
107
  const pkg = {
46
108
  version: SKILL_PACKAGE_VERSION,
47
109
  exportedAt: new Date().toISOString(),
48
110
  skills,
111
+ ...(goldenQueries.length > 0 ? { goldenQueries } : {}),
49
112
  };
50
113
  (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(outputPath), { recursive: true });
51
114
  const json = JSON.stringify(pkg, null, 2);
52
115
  (0, node_fs_1.writeFileSync)(outputPath, json, "utf8");
53
116
  const bytes = (0, node_fs_1.statSync)(outputPath).size;
54
- logger_1.logger.info({ path: outputPath, skillCount: skills.length, bytes }, "技能包导出完成");
55
- return { path: outputPath, skillCount: skills.length, bytes };
117
+ logger_1.logger.info({ path: outputPath, skillCount: skills.length, bytes, goldenQueries: goldenQueries.length }, "技能包导出完成");
118
+ const result = { path: outputPath, skillCount: skills.length, bytes };
119
+ if (goldenQueries.length > 0) {
120
+ result.goldenQueries = goldenQueries.length;
121
+ }
122
+ return result;
56
123
  }
57
124
  /**
58
- * 导入技能包,跳过已存在的技能。
125
+ * 导入技能包(双向 MERGE)。
126
+ *
127
+ * 冲突策略见文件头注释:per-skill-id union、updatedAt 较新者胜、
128
+ * 并列保留本地、本地独有技能保留;`opts.force` 恢复覆盖语义。
129
+ * 技能包携带 goldenQueries 时,合并进本地集合并写入 goldenPath 旁车文件。
59
130
  *
60
131
  * @param graphClient 图存储客户端
61
132
  * @param inputPath 输入文件路径
133
+ * @param opts 导入选项(force / goldenPath)
62
134
  */
63
- async function importSkillPackage(graphClient, inputPath) {
135
+ async function importSkillPackage(graphClient, inputPath, opts) {
64
136
  if (!(0, node_fs_1.existsSync)(inputPath)) {
65
137
  throw new Error(`技能包文件不存在: ${inputPath}`);
66
138
  }
@@ -76,40 +148,75 @@ async function importSkillPackage(graphClient, inputPath) {
76
148
  logger_1.logger.warn({ expected: SKILL_PACKAGE_VERSION, got: pkg.version }, "技能包版本不匹配,仍尝试导入");
77
149
  }
78
150
  const skills = Array.isArray(pkg.skills) ? pkg.skills : [];
79
- // 收集已存在的技能 id,跳过重复导入(避免覆盖本地演化数据)
80
- const existingIds = new Set();
151
+ // 收集本地 Skill 节点(按 id),用于并集合并
152
+ const localById = new Map();
81
153
  if (graphClient.readSnapshot) {
82
154
  const snapshot = graphClient.readSnapshot();
83
155
  for (const node of snapshot.nodes) {
84
156
  if (node.type === "Skill") {
85
- existingIds.add(node.id);
157
+ localById.set(node.id, node);
86
158
  }
87
159
  }
88
160
  }
161
+ const force = opts?.force === true;
89
162
  const toImport = [];
90
163
  let skipped = 0;
164
+ let updated = 0;
91
165
  for (const skill of skills) {
92
166
  // 校验技能节点结构
93
167
  if (!skill || typeof skill.id !== "string" || skill.type !== "Skill") {
94
168
  skipped += 1;
95
169
  continue;
96
170
  }
97
- if (existingIds.has(skill.id)) {
98
- skipped += 1;
171
+ const local = localById.get(skill.id);
172
+ if (!local) {
173
+ toImport.push(skill);
174
+ localById.set(skill.id, skill);
175
+ continue;
176
+ }
177
+ if (force) {
178
+ // --force:覆盖语义,无条件写入
179
+ toImport.push(skill);
180
+ localById.set(skill.id, skill);
99
181
  continue;
100
182
  }
101
- toImport.push(skill);
102
- existingIds.add(skill.id); // 防止技能包内重复 id 被多次导入
183
+ // MERGE:updatedAt 较新者胜;并列或较旧保留本地
184
+ if (skillUpdatedAt(skill) > skillUpdatedAt(local)) {
185
+ toImport.push(skill);
186
+ updated += 1;
187
+ localById.set(skill.id, skill);
188
+ }
189
+ else {
190
+ skipped += 1;
191
+ }
103
192
  }
104
193
  if (toImport.length > 0 && graphClient.upsertNodes) {
105
194
  await graphClient.upsertNodes(toImport);
106
195
  }
107
- logger_1.logger.info({ path: inputPath, imported: toImport.length, skipped, total: skills.length }, "技能包导入完成");
108
- return {
196
+ // golden 查询合并 旁车文件(本地优先、按文本去重;force 整组覆盖)
197
+ let goldenPathWritten;
198
+ let goldenQueriesCount;
199
+ if (Array.isArray(pkg.goldenQueries) && opts?.goldenPath) {
200
+ const incomingQueries = pkg.goldenQueries.filter((q) => typeof q === "string");
201
+ const localQueries = force ? [] : readGoldenQueries(opts.goldenPath);
202
+ const merged = force ? incomingQueries : mergeGoldenQueries(localQueries, incomingQueries);
203
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(opts.goldenPath), { recursive: true });
204
+ (0, node_fs_1.writeFileSync)(opts.goldenPath, JSON.stringify(merged, null, 2), "utf8");
205
+ goldenPathWritten = opts.goldenPath;
206
+ goldenQueriesCount = merged.length;
207
+ }
208
+ logger_1.logger.info({ path: inputPath, imported: toImport.length, skipped, updated, total: skills.length }, "技能包导入完成");
209
+ const result = {
109
210
  path: inputPath,
110
211
  imported: toImport.length,
111
212
  skipped,
213
+ updated,
112
214
  total: skills.length,
113
215
  };
216
+ if (goldenPathWritten !== undefined && goldenQueriesCount !== undefined) {
217
+ result.goldenPath = goldenPathWritten;
218
+ result.goldenQueries = goldenQueriesCount;
219
+ }
220
+ return result;
114
221
  }
115
222
  //# sourceMappingURL=skill-package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-package.js","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;AA0CH,gDAgCC;AAQD,gDAmEC;AAnJD,qCAAuF;AACvF,yCAAoC;AACpC,4CAAyC;AAIzC,YAAY;AACZ,MAAM,qBAAqB,GAAG,KAAc,CAAC;AA2B7C;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,UAAkB;IAElB,kBAAkB;IAClB,IAAI,MAAM,GAAgB,EAAE,CAAC;IAC7B,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,GAAG,GAAiB;QACxB,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,MAAM;KACP,CAAC;IAEF,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,IAAA,uBAAa,EAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAExC,eAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EACtD,SAAS,CACV,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,SAAiB;IAEjB,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC1C,eAAM,CAAC,IAAI,CACT,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EACrD,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,iCAAiC;IACjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,WAAW;QACX,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,eAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAC7E,SAAS,CACV,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"skill-package.js","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-store.d.ts","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,eAAe,CAAC;AAMvB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAErE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAwBvE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CA0BpF;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAIrG;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAI1C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAQxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEhD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAM1D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAW1D"}
1
+ {"version":3,"file":"skill-store.d.ts","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,eAAe,CAAC;AAMvB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAErE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CA+BvE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CA+BpF;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAIrG;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAI1C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAQxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEhD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAM1D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAW1D"}
@@ -46,6 +46,13 @@ function parseSkillState(content) {
46
46
  updatedAt: parsed.updatedAt ?? 0,
47
47
  ...(parsed.hidden === true ? { hidden: true } : {}),
48
48
  ...(typeof parsed.lastDecayedAt === "number" ? { lastDecayedAt: parsed.lastDecayedAt } : {}),
49
+ ...(parsed.hasSymbolEvidence === true ? { hasSymbolEvidence: true } : {}),
50
+ ...(parsed.linkedSuccess === true ? { linkedSuccess: true } : {}),
51
+ ...(typeof parsed.failStreak === "number" && parsed.failStreak > 0 ? { failStreak: parsed.failStreak } : {}),
52
+ ...(parsed.seeded === true ? { seeded: true } : {}),
53
+ ...(parsed.outcomeKind === "proven" || parsed.outcomeKind === "correctable" || parsed.outcomeKind === "anti-pattern" || parsed.outcomeKind === "noise"
54
+ ? { outcomeKind: parsed.outcomeKind }
55
+ : {}),
49
56
  };
50
57
  }
51
58
  catch (error) {
@@ -74,6 +81,11 @@ function parseCompositeState(content) {
74
81
  uses: parsed.uses ?? 0,
75
82
  lastOutcome: parsed.lastOutcome === "fail" ? "fail" : "pass",
76
83
  updatedAt: parsed.updatedAt ?? 0,
84
+ ...(parsed.hasSymbolEvidence === true ? { hasSymbolEvidence: true } : {}),
85
+ ...(parsed.seeded === true ? { seeded: true } : {}),
86
+ ...(parsed.outcomeKind === "proven" || parsed.outcomeKind === "correctable" || parsed.outcomeKind === "anti-pattern" || parsed.outcomeKind === "noise"
87
+ ? { outcomeKind: parsed.outcomeKind }
88
+ : {}),
77
89
  };
78
90
  }
79
91
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"skill-store.js","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-store.js","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,17 @@
1
1
  import type { GraphEdge } from "../core/types";
2
+ /**
3
+ * P0-2 outcome taxonomy for learned skills. Replaces the single pass/fail score
4
+ * semantics with a four-way classification:
5
+ *
6
+ * - proven: symbol evidence + enough observations (>= 2 uses or a linked
7
+ * successful outcome). Only this class accrues positive score.
8
+ * - correctable: symbol evidence present but not yet proven. Never sinks score.
9
+ * - anti-pattern: repeated failures with symbol evidence. The ONLY class that
10
+ * accrues negative score.
11
+ * - noise: no symbol evidence (generic bare tokens like "update"/"readme").
12
+ * Never persisted as a node; pruned on load if already present.
13
+ */
14
+ export type SkillOutcomeKind = "proven" | "correctable" | "anti-pattern" | "noise";
2
15
  export interface SkillState {
3
16
  id: string;
4
17
  name: string;
@@ -9,6 +22,16 @@ export interface SkillState {
9
22
  /** Soft-hidden from insights/hints after pruneFailedSkills (toxic fail streak). */
10
23
  hidden?: boolean;
11
24
  lastDecayedAt?: number;
25
+ /** Extraction gate: candidate referenced project symbols (file/function/class paths). */
26
+ hasSymbolEvidence?: boolean;
27
+ /** A successful outcome linked to this skill via the episode outcome loop. */
28
+ linkedSuccess?: boolean;
29
+ /** Consecutive failure count; classified anti-pattern at >= 2. */
30
+ failStreak?: number;
31
+ /** Curated baseline written by seedInitialSkills — never pruned as noise. */
32
+ seeded?: boolean;
33
+ /** Outcome taxonomy classification (persisted for observability). */
34
+ outcomeKind?: SkillOutcomeKind;
12
35
  }
13
36
  export interface CompositeSkillState {
14
37
  id: string;
@@ -21,6 +44,12 @@ export interface CompositeSkillState {
21
44
  uses: number;
22
45
  lastOutcome: "pass" | "fail";
23
46
  updatedAt: number;
47
+ /** Extraction gate: candidate referenced project symbols. */
48
+ hasSymbolEvidence?: boolean;
49
+ /** Curated baseline written by seedInitialSkills — never pruned as noise. */
50
+ seeded?: boolean;
51
+ /** Outcome taxonomy classification (persisted for observability). */
52
+ outcomeKind?: SkillOutcomeKind;
24
53
  }
25
54
  export type EdgeRelation = GraphEdge["relation"];
26
55
  export type SkillEdge = {
@@ -1 +1 @@
1
- {"version":3,"file":"skill-types.d.ts","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,IAAI,CAAC"}
1
+ {"version":3,"file":"skill-types.d.ts","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,GAAG,OAAO,CAAC;AAEnF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-types.js","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":";;;AA8Ba,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAClC,QAAA,6BAA6B,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"skill-types.js","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":";;;AA4Da,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAClC,QAAA,6BAA6B,GAAG,CAAC,CAAC"}
@@ -16,6 +16,12 @@ export interface PromptContext {
16
16
  summaryChannel?: string[];
17
17
  skillHints?: string[];
18
18
  extraInstructions?: string[];
19
+ /**
20
+ * Goal anchor lines (P0): the ORIGINAL requirement — coreProblem,
21
+ * successDefinition, nonGoals — rendered FIRST so every agent role sees
22
+ * what the task is ultimately for before any other context.
23
+ */
24
+ goalAnchors?: string[];
19
25
  }
20
26
  export declare function getLastProviderUsage(): ProviderUsageStats | undefined;
21
27
  export declare function formatPromptWithContext(role: AgentRole, prompt: string, context?: PromptContext): string;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-executor.d.ts","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,KAAK,EAAE,mBAAmB,EAAuB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI9G,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;gBAEP,MAAM,EAAE;QAClB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB;CAOF;AAYD,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAOD,wBAAgB,oBAAoB,IAAI,kBAAkB,GAAG,SAAS,CAErE;AAYD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAgCR;AA4FD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CA4GjB;AAED,4BAA4B;AAC5B,wBAAgB,+BAA+B,IAAI,IAAI,CAGtD;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"provider-executor.d.ts","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,KAAK,EAAE,mBAAmB,EAAuB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI9G,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;gBAEP,MAAM,EAAE;QAClB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB;CAOF;AAYD,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAQD,wBAAgB,oBAAoB,IAAI,kBAAkB,GAAG,SAAS,CAErE;AAaD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAwCR;AA4FD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CA4GjB;AAED,4BAA4B;AAC5B,wBAAgB,+BAA+B,IAAI,IAAI,CAGtD;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -34,6 +34,7 @@ const DEFAULT_CIRCUIT_FAILURE_THRESHOLD = 5;
34
34
  const DEFAULT_CIRCUIT_OPEN_MS = 60_000;
35
35
  const MAX_SUMMARY_LINES = 20;
36
36
  const MAX_SKILL_HINTS = 8;
37
+ const MAX_GOAL_ANCHORS = 2;
37
38
  let lastProviderUsage;
38
39
  function getLastProviderUsage() {
39
40
  return lastProviderUsage;
@@ -45,7 +46,8 @@ function hasAnyContext(context) {
45
46
  const s = context.summaryChannel?.some((x) => x && x.trim().length > 0);
46
47
  const k = context.skillHints?.some((x) => x && x.trim().length > 0);
47
48
  const e = context.extraInstructions?.some((x) => x && x.trim().length > 0);
48
- return Boolean(s || k || e);
49
+ const g = context.goalAnchors?.some((x) => x && x.trim().length > 0);
50
+ return Boolean(s || k || e || g);
49
51
  }
50
52
  function formatPromptWithContext(role, prompt, context) {
51
53
  const rolePrefix = `[role:${role}]`;
@@ -53,6 +55,13 @@ function formatPromptWithContext(role, prompt, context) {
53
55
  return `${rolePrefix} ${prompt}`;
54
56
  }
55
57
  const lines = [rolePrefix];
58
+ const goals = (context?.goalAnchors ?? []).filter((line) => line && line.trim().length > 0);
59
+ if (goals.length > 0) {
60
+ lines.push("Goal anchor (original requirement — stay aligned):");
61
+ for (const item of goals.slice(0, MAX_GOAL_ANCHORS)) {
62
+ lines.push(`- ${item}`);
63
+ }
64
+ }
56
65
  const summaries = (context?.summaryChannel ?? []).filter((line) => line && line.trim().length > 0);
57
66
  if (summaries.length > 0) {
58
67
  lines.push("Knowledge graph context:");
@@ -1 +1 @@
1
- {"version":3,"file":"provider-executor.js","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-executor.js","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"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"}