speccore 8.3.182 → 8.3.189

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 (215) hide show
  1. package/.agents/skills/spec-analyze/SKILL.md +2 -169
  2. package/.agents/skills/spec-ask/SKILL.md +2 -177
  3. package/.agents/skills/spec-change/SKILL.md +2 -214
  4. package/.agents/skills/spec-dashboard/SKILL.md +1 -76
  5. package/.agents/skills/spec-deploy/SKILL.md +2 -298
  6. package/.agents/skills/spec-doc2spec/SKILL.md +2 -116
  7. package/.agents/skills/spec-done/SKILL.md +2 -203
  8. package/.agents/skills/spec-execute/SKILL.md +2 -178
  9. package/.agents/skills/spec-help/SKILL.md +1 -75
  10. package/.agents/skills/spec-iteration-create/SKILL.md +2 -123
  11. package/.agents/skills/spec-plan/SKILL.md +2 -117
  12. package/.agents/skills/spec-pr/SKILL.md +2 -203
  13. package/.agents/skills/spec-run/SKILL.md +16 -0
  14. package/.agents/skills/spec-spec2doc/SKILL.md +2 -121
  15. package/.agents/skills/spec-split/SKILL.md +2 -208
  16. package/.agents/skills/spec-task-create/SKILL.md +2 -151
  17. package/.agents/skills/spec-verify/SKILL.md +2 -214
  18. package/.agents/skills/spec-welcome/SKILL.md +1 -67
  19. package/.agents/skills/speccore-router/SKILL.md +14 -2
  20. package/README.en.md +9 -9
  21. package/README.md +2 -1
  22. package/dist/cli.js +24 -25
  23. package/dist/cli.js.map +1 -1
  24. package/dist/commands/about.js +1 -1
  25. package/dist/commands/about.js.map +1 -1
  26. package/dist/commands/analyze.d.ts +1 -0
  27. package/dist/commands/analyze.d.ts.map +1 -1
  28. package/dist/commands/analyze.js +38 -5
  29. package/dist/commands/analyze.js.map +1 -1
  30. package/dist/commands/ask.js +6 -6
  31. package/dist/commands/ask.js.map +1 -1
  32. package/dist/commands/dev.d.ts +2 -0
  33. package/dist/commands/dev.d.ts.map +1 -1
  34. package/dist/commands/dev.js +102 -1
  35. package/dist/commands/dev.js.map +1 -1
  36. package/dist/commands/doctor.js +28 -0
  37. package/dist/commands/doctor.js.map +1 -1
  38. package/dist/commands/execute.js +3 -3
  39. package/dist/commands/execute.js.map +1 -1
  40. package/dist/commands/init.d.ts.map +1 -1
  41. package/dist/commands/init.js +31 -52
  42. package/dist/commands/init.js.map +1 -1
  43. package/dist/commands/iteration/split.d.ts.map +1 -1
  44. package/dist/commands/iteration/split.js +12 -39
  45. package/dist/commands/iteration/split.js.map +1 -1
  46. package/dist/commands/knowledge.d.ts +0 -12
  47. package/dist/commands/knowledge.d.ts.map +1 -1
  48. package/dist/commands/knowledge.js +0 -80
  49. package/dist/commands/knowledge.js.map +1 -1
  50. package/dist/commands/refresh.d.ts.map +1 -1
  51. package/dist/commands/refresh.js +10 -0
  52. package/dist/commands/refresh.js.map +1 -1
  53. package/dist/commands/search.d.ts +1 -0
  54. package/dist/commands/search.d.ts.map +1 -1
  55. package/dist/commands/search.js +38 -0
  56. package/dist/commands/search.js.map +1 -1
  57. package/dist/commands/update.d.ts.map +1 -1
  58. package/dist/commands/update.js +13 -3
  59. package/dist/commands/update.js.map +1 -1
  60. package/dist/core/agent-adapter.d.ts +6 -0
  61. package/dist/core/agent-adapter.d.ts.map +1 -1
  62. package/dist/core/agent-adapter.js +56 -172
  63. package/dist/core/agent-adapter.js.map +1 -1
  64. package/dist/core/agents/defaults/code-generator.md +64 -0
  65. package/dist/core/agents/defaults/code-reviewer.md +5 -0
  66. package/dist/core/agents/defaults/compiler.md +7 -0
  67. package/dist/core/agents/defaults/compliance-checker.md +2 -0
  68. package/dist/core/agents/defaults/dependency-analyst.md +5 -0
  69. package/dist/core/agents/defaults/doc-sync-agent.md +5 -0
  70. package/dist/core/agents/defaults/effort-estimator.md +28 -0
  71. package/dist/core/agents/defaults/global-analyzer.md +66 -0
  72. package/dist/core/agents/defaults/impact-analyst.md +5 -0
  73. package/dist/core/agents/defaults/interaction-designer.md +5 -0
  74. package/dist/core/agents/defaults/performance-expert.md +2 -0
  75. package/dist/core/agents/defaults/product-analyst-backend.md +6 -0
  76. package/dist/core/agents/defaults/product-analyst-frontend.md +6 -0
  77. package/dist/core/agents/defaults/product-analyst.md +5 -0
  78. package/dist/core/agents/defaults/regression-tester.md +5 -0
  79. package/dist/core/agents/defaults/requirement-analyzer.md +72 -0
  80. package/dist/core/agents/defaults/risk-assessor.md +5 -0
  81. package/dist/core/agents/defaults/schedule-planner.md +5 -0
  82. package/dist/core/agents/defaults/security-reviewer-finance.md +6 -0
  83. package/dist/core/agents/defaults/security-reviewer.md +7 -0
  84. package/dist/core/agents/defaults/task-decomposer.md +5 -0
  85. package/dist/core/agents/defaults/test-engineer.md +2 -0
  86. package/dist/core/agents/defaults/test-reviewer.md +5 -0
  87. package/dist/core/agents/engine/agent-loader.d.ts.map +1 -1
  88. package/dist/core/agents/engine/agent-loader.js +76 -6
  89. package/dist/core/agents/engine/agent-loader.js.map +1 -1
  90. package/dist/core/agents/engine/types.d.ts +5 -0
  91. package/dist/core/agents/engine/types.d.ts.map +1 -1
  92. package/dist/core/analyze-engine.d.ts.map +1 -1
  93. package/dist/core/analyze-engine.js +73 -82
  94. package/dist/core/analyze-engine.js.map +1 -1
  95. package/dist/core/ask-engine.d.ts +0 -58
  96. package/dist/core/ask-engine.d.ts.map +1 -1
  97. package/dist/core/ask-engine.js +63 -361
  98. package/dist/core/ask-engine.js.map +1 -1
  99. package/dist/core/business-rules.d.ts +36 -0
  100. package/dist/core/business-rules.d.ts.map +1 -0
  101. package/dist/core/business-rules.js +109 -0
  102. package/dist/core/business-rules.js.map +1 -0
  103. package/dist/core/change-impact-global.d.ts.map +1 -1
  104. package/dist/core/change-impact-global.js +4 -3
  105. package/dist/core/change-impact-global.js.map +1 -1
  106. package/dist/core/code-scanner.d.ts +1 -0
  107. package/dist/core/code-scanner.d.ts.map +1 -1
  108. package/dist/core/code-scanner.js +32 -3
  109. package/dist/core/code-scanner.js.map +1 -1
  110. package/dist/core/content-delivery.d.ts +59 -0
  111. package/dist/core/content-delivery.d.ts.map +1 -0
  112. package/dist/core/content-delivery.js +219 -0
  113. package/dist/core/content-delivery.js.map +1 -0
  114. package/dist/core/global-artifacts.d.ts.map +1 -1
  115. package/dist/core/global-artifacts.js +262 -19
  116. package/dist/core/global-artifacts.js.map +1 -1
  117. package/dist/core/global-retrieval.d.ts +38 -0
  118. package/dist/core/global-retrieval.d.ts.map +1 -0
  119. package/dist/core/global-retrieval.js +100 -0
  120. package/dist/core/global-retrieval.js.map +1 -0
  121. package/dist/core/html-prototype.d.ts +22 -0
  122. package/dist/core/html-prototype.d.ts.map +1 -0
  123. package/dist/core/html-prototype.js +103 -0
  124. package/dist/core/html-prototype.js.map +1 -0
  125. package/dist/core/multi-lang-parser.d.ts +43 -0
  126. package/dist/core/multi-lang-parser.d.ts.map +1 -0
  127. package/dist/core/multi-lang-parser.js +317 -0
  128. package/dist/core/multi-lang-parser.js.map +1 -0
  129. package/dist/core/pipeline-engine.js +16 -16
  130. package/dist/core/pipeline-engine.js.map +1 -1
  131. package/dist/core/platform-inference.d.ts +35 -0
  132. package/dist/core/platform-inference.d.ts.map +1 -0
  133. package/dist/core/platform-inference.js +205 -0
  134. package/dist/core/platform-inference.js.map +1 -0
  135. package/dist/core/prompt-builder.d.ts +1 -1
  136. package/dist/core/prompt-builder.d.ts.map +1 -1
  137. package/dist/core/prompt-builder.js +62 -63
  138. package/dist/core/prompt-builder.js.map +1 -1
  139. package/dist/core/refresh-scheduler.d.ts +50 -0
  140. package/dist/core/refresh-scheduler.d.ts.map +1 -0
  141. package/dist/core/refresh-scheduler.js +139 -0
  142. package/dist/core/refresh-scheduler.js.map +1 -0
  143. package/dist/core/reverse-requirement.d.ts +54 -0
  144. package/dist/core/reverse-requirement.d.ts.map +1 -0
  145. package/dist/core/reverse-requirement.js +277 -0
  146. package/dist/core/reverse-requirement.js.map +1 -0
  147. package/dist/core/schemas/task.schema.d.ts +2 -2
  148. package/dist/core/spec-skeleton.d.ts.map +1 -1
  149. package/dist/core/spec-skeleton.js +123 -0
  150. package/dist/core/spec-skeleton.js.map +1 -1
  151. package/dist/core/unified-config.d.ts +14 -0
  152. package/dist/core/unified-config.d.ts.map +1 -1
  153. package/dist/core/unified-config.js +94 -10
  154. package/dist/core/unified-config.js.map +1 -1
  155. package/dist/core/unified-retrieval.d.ts.map +1 -1
  156. package/dist/core/unified-retrieval.js +34 -8
  157. package/dist/core/unified-retrieval.js.map +1 -1
  158. package/dist/utils/task-utils.d.ts +4 -0
  159. package/dist/utils/task-utils.d.ts.map +1 -1
  160. package/dist/utils/task-utils.js +18 -0
  161. package/dist/utils/task-utils.js.map +1 -1
  162. package/package.json +6 -4
  163. package/vendor/tree-sitter/tree-sitter-go.wasm +0 -0
  164. package/vendor/tree-sitter/tree-sitter-java.wasm +0 -0
  165. package/vendor/tree-sitter/tree-sitter-python.wasm +0 -0
  166. package/vendor/tree-sitter/tree-sitter-rust.wasm +0 -0
  167. package/.agents/agents/README.md +0 -79
  168. package/.agents/agents/spec-analyzer.md +0 -41
  169. package/.agents/agents/spec-architect.md +0 -57
  170. package/.agents/agents/spec-change-detector.md +0 -55
  171. package/.agents/agents/spec-clarifier.md +0 -83
  172. package/.agents/agents/spec-executor.md +0 -41
  173. package/.agents/agents/spec-gatekeeper.md +0 -84
  174. package/.agents/agents/spec-global-analyzer.md +0 -111
  175. package/.agents/agents/spec-knowledge-curator.md +0 -54
  176. package/.agents/agents/spec-reviewer.md +0 -46
  177. package/.agents/agents/spec-security-auditor.md +0 -56
  178. package/.agents/agents/spec-tester.md +0 -120
  179. package/.agents/skills/spec-analyze/references/analysis-report.md +0 -9
  180. package/.agents/skills/spec-execute/references/code-output.md +0 -13
  181. package/.agents/skills/spec-plan/references/plan-template.md +0 -29
  182. package/.agents/skills/spec-task-create/references/requirement-template.md +0 -23
  183. package/dist/commands/bugfix.d.ts +0 -17
  184. package/dist/commands/bugfix.d.ts.map +0 -1
  185. package/dist/commands/bugfix.js +0 -301
  186. package/dist/commands/bugfix.js.map +0 -1
  187. package/dist/commands/help-quick.d.ts +0 -3
  188. package/dist/commands/help-quick.d.ts.map +0 -1
  189. package/dist/commands/help-quick.js +0 -66
  190. package/dist/commands/help-quick.js.map +0 -1
  191. package/dist/commands/index-update.d.ts +0 -8
  192. package/dist/commands/index-update.d.ts.map +0 -1
  193. package/dist/commands/index-update.js +0 -180
  194. package/dist/commands/index-update.js.map +0 -1
  195. package/dist/commands/schedule.d.ts +0 -26
  196. package/dist/commands/schedule.d.ts.map +0 -1
  197. package/dist/commands/schedule.js +0 -182
  198. package/dist/commands/schedule.js.map +0 -1
  199. package/dist/commands/watch.d.ts +0 -11
  200. package/dist/commands/watch.d.ts.map +0 -1
  201. package/dist/commands/watch.js +0 -166
  202. package/dist/commands/watch.js.map +0 -1
  203. package/dist/core/agents/defaults/_INDEX.md +0 -68
  204. package/dist/core/ai-markdown.d.ts +0 -5
  205. package/dist/core/ai-markdown.d.ts.map +0 -1
  206. package/dist/core/ai-markdown.js +0 -29
  207. package/dist/core/ai-markdown.js.map +0 -1
  208. package/dist/core/schedule-engine.d.ts +0 -25
  209. package/dist/core/schedule-engine.d.ts.map +0 -1
  210. package/dist/core/schedule-engine.js +0 -281
  211. package/dist/core/schedule-engine.js.map +0 -1
  212. package/dist/core/schedule-store.d.ts +0 -119
  213. package/dist/core/schedule-store.d.ts.map +0 -1
  214. package/dist/core/schedule-store.js +0 -216
  215. package/dist/core/schedule-store.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-engine.js","sourceRoot":"","sources":["../../src/core/pipeline-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-engine.js","sourceRoot":"","sources":["../../src/core/pipeline-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * platform-inference.ts — 功能单元端推断(六层机制)
3
+ *
4
+ * 六层递进(确定性 → 概率性):
5
+ * Layer 1 显式声明 —— 需求文档中「涉及端」字段(置信度 1.0)
6
+ * Layer 2 _matrix 声明 —— 010-requirements/features/{feature}/_matrix.md(置信度 0.95)
7
+ * Layer 3 目录结构 —— 功能单元目录下的端子目录(置信度 0.9)
8
+ * Layer 4 关键词映射 —— 功能名/需求里的端关键词(置信度 0.75)
9
+ * Layer 5 宿主 AI —— 前四层都无法确定时,生成判断 prompt(置信度 0.5)
10
+ * Layer 6 人工确认 —— 置信度 < 0.8 或端数 > 3 时,标记需确认
11
+ *
12
+ * 原则:优先确定性机制,AI 只作补充,人工确认兜底。确认后写入 _matrix.md 持久化。
13
+ *
14
+ * v8.3.185+
15
+ */
16
+ export type PlatformInferenceSource = 'explicit' | 'matrix' | 'directory' | 'keyword' | 'ai-required' | 'none';
17
+ export interface PlatformInferenceResult {
18
+ platforms: string[];
19
+ confidence: number;
20
+ source: PlatformInferenceSource;
21
+ uncertainties: string[];
22
+ needsConfirm: boolean;
23
+ aiPrompt?: string;
24
+ }
25
+ export interface InferFeaturePlatformsOptions {
26
+ featureName: string;
27
+ /** 功能单元目录(010-requirements/features/{feature}/),用于读 _matrix.md + 目录结构 */
28
+ featureDir?: string;
29
+ /** 需求文档内容(显式声明检测 + 关键词) */
30
+ requirementContent?: string;
31
+ /** CONSTITUTION 端列表(全部标准端名) */
32
+ allPlatforms: string[];
33
+ }
34
+ export declare function inferFeaturePlatforms(options: InferFeaturePlatformsOptions): Promise<PlatformInferenceResult>;
35
+ //# sourceMappingURL=platform-inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-inference.d.ts","sourceRoot":"","sources":["../../src/core/platform-inference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,QAAQ,GACR,WAAW,GACX,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAKD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,uBAAuB,CAAC,CA2ClC"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * platform-inference.ts — 功能单元端推断(六层机制)
4
+ *
5
+ * 六层递进(确定性 → 概率性):
6
+ * Layer 1 显式声明 —— 需求文档中「涉及端」字段(置信度 1.0)
7
+ * Layer 2 _matrix 声明 —— 010-requirements/features/{feature}/_matrix.md(置信度 0.95)
8
+ * Layer 3 目录结构 —— 功能单元目录下的端子目录(置信度 0.9)
9
+ * Layer 4 关键词映射 —— 功能名/需求里的端关键词(置信度 0.75)
10
+ * Layer 5 宿主 AI —— 前四层都无法确定时,生成判断 prompt(置信度 0.5)
11
+ * Layer 6 人工确认 —— 置信度 < 0.8 或端数 > 3 时,标记需确认
12
+ *
13
+ * 原则:优先确定性机制,AI 只作补充,人工确认兜底。确认后写入 _matrix.md 持久化。
14
+ *
15
+ * v8.3.185+
16
+ */
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || (function () {
34
+ var ownKeys = function(o) {
35
+ ownKeys = Object.getOwnPropertyNames || function (o) {
36
+ var ar = [];
37
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
38
+ return ar;
39
+ };
40
+ return ownKeys(o);
41
+ };
42
+ return function (mod) {
43
+ if (mod && mod.__esModule) return mod;
44
+ var result = {};
45
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46
+ __setModuleDefault(result, mod);
47
+ return result;
48
+ };
49
+ })();
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.inferFeaturePlatforms = inferFeaturePlatforms;
52
+ const path_1 = require("path");
53
+ const fs_extra_1 = require("fs-extra");
54
+ const yaml = __importStar(require("js-yaml"));
55
+ const CONFIRM_CONFIDENCE = 0.8; // 置信度低于此值需人工确认
56
+ const CONFIRM_PLATFORM_COUNT = 3; // 端数超过此值需人工确认
57
+ async function inferFeaturePlatforms(options) {
58
+ const { featureName, featureDir, requirementContent, allPlatforms } = options;
59
+ if (allPlatforms.length === 0) {
60
+ return { platforms: [], confidence: 0, source: 'none', uncertainties: ['未配置端列表'], needsConfirm: true };
61
+ }
62
+ // ── Layer 1: 显式声明(需求文档「涉及端」字段)──
63
+ const explicit = detectExplicitPlatforms(requirementContent, allPlatforms);
64
+ if (explicit.length > 0) {
65
+ return finalize(explicit, 1.0, 'explicit', []);
66
+ }
67
+ // ── Layer 2: _matrix.md 声明 ──
68
+ if (featureDir) {
69
+ const matrixPlatforms = await readMatrixPlatforms(featureDir);
70
+ if (matrixPlatforms.length > 0) {
71
+ return finalize(matrixPlatforms, 0.95, 'matrix', []);
72
+ }
73
+ // ── Layer 3: 目录结构推断 ──
74
+ const dirPlatforms = await detectDirectoryPlatforms(featureDir, allPlatforms);
75
+ if (dirPlatforms.length > 0) {
76
+ return finalize(dirPlatforms, 0.9, 'directory', []);
77
+ }
78
+ }
79
+ // ── Layer 4: 关键词映射 ──
80
+ const keywordPlatforms = inferPlatformsByKeywords(featureName, requirementContent || '', allPlatforms);
81
+ if (keywordPlatforms.length > 0) {
82
+ const uncertainties = [`关键词推断(置信度 0.75): 匹配到「${featureName}」的端特征`];
83
+ return finalize(keywordPlatforms, 0.75, 'keyword', uncertainties);
84
+ }
85
+ // ── Layer 5: 宿主 AI 判断 ──
86
+ const aiPrompt = buildAiInferencePrompt(featureName, requirementContent || '', allPlatforms);
87
+ return {
88
+ platforms: [],
89
+ confidence: 0.5,
90
+ source: 'ai-required',
91
+ uncertainties: ['前四层均无法确定,需宿主 AI 语义判断'],
92
+ needsConfirm: true,
93
+ aiPrompt,
94
+ };
95
+ }
96
+ /** 统一收尾:置信度/端数判断 + needsConfirm */
97
+ function finalize(platforms, confidence, source, uncertainties) {
98
+ const needsConfirm = confidence < CONFIRM_CONFIDENCE || platforms.length > CONFIRM_PLATFORM_COUNT;
99
+ return { platforms, confidence, source, uncertainties, needsConfirm };
100
+ }
101
+ // ── Layer 1: 显式声明 ──
102
+ function detectExplicitPlatforms(content, allPlatforms) {
103
+ if (!content)
104
+ return [];
105
+ // 匹配「涉及端:backend, h5-mobile」「涉及端: 后端、H5」等
106
+ const m = content.match(/涉及端[::]\s*([^\n|]+)/i);
107
+ if (!m)
108
+ return [];
109
+ const raw = m[1].split(/[,,、;;\s]+/).map(s => s.trim()).filter(Boolean);
110
+ const matched = new Set();
111
+ for (const token of raw) {
112
+ const p = normalizePlatformToken(token, allPlatforms);
113
+ if (p)
114
+ matched.add(p);
115
+ }
116
+ return [...matched];
117
+ }
118
+ /** 把「后端/H5/admin」等简写规范化到标准端名 */
119
+ function normalizePlatformToken(token, allPlatforms) {
120
+ const t = token.toLowerCase();
121
+ if (allPlatforms.includes(token))
122
+ return token;
123
+ // 简写映射
124
+ const aliasMap = {
125
+ backend: /后端|backend|服务端|server|api/i,
126
+ 'h5-mobile': /h5|移动端|mobile|手机/i,
127
+ 'admin-web': /admin|管理端|后台|web|pc|桌面/i,
128
+ miniapp: /小程序|miniapp|mini|微信/i,
129
+ };
130
+ for (const p of allPlatforms) {
131
+ const re = aliasMap[p] || new RegExp(`^${p}$`, 'i');
132
+ if (re.test(t) || t === p.toLowerCase())
133
+ return p;
134
+ }
135
+ // 通用匹配:token 与某个端名相似
136
+ for (const p of allPlatforms) {
137
+ if (p.toLowerCase().includes(t) || t.includes(p.toLowerCase()))
138
+ return p;
139
+ }
140
+ return null;
141
+ }
142
+ // ── Layer 2: _matrix.md ──
143
+ async function readMatrixPlatforms(featureDir) {
144
+ const matrixPath = (0, path_1.join)(featureDir, '_matrix.md');
145
+ if (!(await (0, fs_extra_1.pathExists)(matrixPath)))
146
+ return [];
147
+ try {
148
+ const content = await (0, fs_extra_1.readFile)(matrixPath, 'utf-8');
149
+ const yamlContent = content.replace(/^#.*\n+/, '');
150
+ const data = yaml.load(yamlContent);
151
+ return Array.isArray(data?.platforms) ? data.platforms : [];
152
+ }
153
+ catch {
154
+ return [];
155
+ }
156
+ }
157
+ // ── Layer 3: 目录结构 ──
158
+ async function detectDirectoryPlatforms(featureDir, allPlatforms) {
159
+ if (!(await (0, fs_extra_1.pathExists)(featureDir)))
160
+ return [];
161
+ try {
162
+ const entries = await (0, fs_extra_1.readdir)(featureDir, { withFileTypes: true });
163
+ const dirs = entries.filter(e => e.isDirectory()).map(e => e.name);
164
+ return allPlatforms.filter(p => dirs.includes(p));
165
+ }
166
+ catch {
167
+ return [];
168
+ }
169
+ }
170
+ // ── Layer 4: 关键词映射(从 split.ts 抽离,统一维护)──
171
+ function inferPlatformsByKeywords(featureName, requirementContent, allPlatforms) {
172
+ const text = `${featureName} ${requirementContent}`.toLowerCase();
173
+ const backendPlatforms = allPlatforms.filter(p => /service|api|backend|server|core/i.test(p));
174
+ const adminPlatforms = allPlatforms.filter(p => /admin|web|pc|manage|dashboard|portal/i.test(p) && !/mobile|h5|mini|app/i.test(p));
175
+ const mobilePlatforms = allPlatforms.filter(p => /h5|mobile|app|mini|ios|android|wechat/i.test(p));
176
+ const keywordMap = [
177
+ { keywords: ['接口', 'api', '服务', 'service', '数据表', 'entity', '数据库', 'db', '迁移', 'migration', '脚本', 'job', '定时', 'cron', '缓存', 'cache', '队列', 'queue'], platforms: backendPlatforms },
178
+ { keywords: ['报表', '统计', '管理', '配置', '审核', '审批', '后台', 'admin', 'dashboard', '运营', '数据看板', '权限分配', '角色管理'], platforms: [...backendPlatforms, ...adminPlatforms] },
179
+ { keywords: ['扫码', '定位', '地图', '推送', '通知', '分享', '支付', '下单', '预约', '签到', '打卡', '拍照', '扫码点餐'], platforms: [...backendPlatforms, ...mobilePlatforms] },
180
+ { keywords: ['登录', '认证', '注册', '鉴权', 'auth', 'login', 'logout', '用户', 'user', '个人中心', 'profile', '设置', 'setting'], platforms: allPlatforms },
181
+ { keywords: ['页面', 'ui', '组件', '展示', '列表', '详情', '首页', '导航', '菜单', '主题', '样式', '布局'], platforms: [...adminPlatforms, ...mobilePlatforms] },
182
+ ];
183
+ const matched = new Set();
184
+ for (const rule of keywordMap) {
185
+ if (rule.keywords.some(kw => text.includes(kw.toLowerCase()))) {
186
+ for (const p of rule.platforms)
187
+ matched.add(p);
188
+ }
189
+ }
190
+ // 注意:不兜底。没匹配到时返回空,让六层机制自然走到 Layer5(AI 判断)。
191
+ return [...matched];
192
+ }
193
+ // ── Layer 5: AI 判断 prompt ──
194
+ function buildAiInferencePrompt(featureName, requirementContent, allPlatforms) {
195
+ return [
196
+ `请判断功能单元「${featureName}」涉及哪些端。`,
197
+ `候选端: ${allPlatforms.join(', ')}`,
198
+ '',
199
+ requirementContent ? `需求描述:\n${requirementContent.slice(0, 500)}` : '(无需求文档)',
200
+ '',
201
+ '输出格式(JSON):',
202
+ '{"platforms": ["backend", "h5-mobile"], "confidence": 0.8, "uncertainties": []}',
203
+ ].join('\n');
204
+ }
205
+ //# sourceMappingURL=platform-inference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-inference.js","sourceRoot":"","sources":["../../src/core/platform-inference.ts"],"names":[],"mappings":"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"}
@@ -97,7 +97,7 @@ export interface SpecCorePrompt {
97
97
  * 加载全局上下文(带 TOC 缓存)
98
98
  * 策略:必读的 INDEX.md 直接注入 + 其余文件只给目录,AI 自己 Read
99
99
  */
100
- export declare function loadGlobalContext(cwd: string, _command: PromptCommand, platform?: string): Promise<GlobalContext>;
100
+ export declare function loadGlobalContext(cwd: string, _command: PromptCommand, platform?: string, feature?: string): Promise<GlobalContext>;
101
101
  /**
102
102
  * 格式化全局上下文为 Markdown 字符串(供 formatPrompt 和 split.ts 共用)
103
103
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/core/prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/core/prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,12 @@ const knowledge_graph_1 = require("./knowledge-graph");
58
58
  const context_builder_1 = require("./context-builder");
59
59
  const spec_paths_1 = require("./spec-paths");
60
60
  const context_1 = require("./context");
61
+ const rag_engine_1 = require("./rag-engine");
61
62
  const unified_retrieval_1 = require("./unified-retrieval");
63
+ // v8.3.183+: 统一内容供给管线(md 大纲摘要,替代链接全文内联)
64
+ const content_delivery_1 = require("./content-delivery");
65
+ // v8.3.183+: HTML 原型渲染(Playwright 截图 + accessibility tree,替代纯文本)
66
+ const html_prototype_1 = require("./html-prototype");
62
67
  // v8.3.122+: execute 时深入读取关联源码
63
68
  const code_scanner_1 = require("./code-scanner");
64
69
  // v8.3.125+: 同义词扩展,解决中英文/缩写关键词匹配失败
@@ -1086,7 +1091,7 @@ async function buildGlobalTOC(globalDir) {
1086
1091
  * 加载全局上下文(带 TOC 缓存)
1087
1092
  * 策略:必读的 INDEX.md 直接注入 + 其余文件只给目录,AI 自己 Read
1088
1093
  */
1089
- async function loadGlobalContext(cwd, _command, platform) {
1094
+ async function loadGlobalContext(cwd, _command, platform, feature) {
1090
1095
  const globalDir = (0, path_1.join)(cwd, '.speccore', 'GLOBAL');
1091
1096
  const ctx = { toc: [] };
1092
1097
  if (!await (0, fs_extra_1.pathExists)(globalDir))
@@ -1101,37 +1106,15 @@ async function loadGlobalContext(cwd, _command, platform) {
1101
1106
  // 支持单文件(单文件模式)+ BUSINESS_RULES/ 目录(推荐,支持按 platform 过滤)
1102
1107
  if (!ctx.keyFileSummaries)
1103
1108
  ctx.keyFileSummaries = [];
1104
- // 1. 单文件模式:GLOBAL/BUSINESS_RULES.md
1105
- const legacyPath = (0, path_1.join)(globalDir, 'BUSINESS_RULES.md');
1106
- if (await (0, fs_extra_1.pathExists)(legacyPath)) {
1107
- try {
1108
- const content = await (0, fs_extra_1.readFile)(legacyPath, 'utf-8');
1109
- ctx.keyFileSummaries.push({ path: 'BUSINESS_RULES.md', content: content.slice(0, 4000) });
1110
- }
1111
- catch { /* 忽略 */ }
1112
- }
1113
- // 2. 新路径:GLOBAL/BUSINESS_RULES/ 目录,按 platform 过滤加载
1114
- const businessRulesDir = (0, path_1.join)(globalDir, 'BUSINESS_RULES');
1115
- if (await (0, fs_extra_1.pathExists)(businessRulesDir)) {
1116
- try {
1117
- const files = (await (0, fs_extra_1.readdir)(businessRulesDir))
1118
- .filter(f => f.endsWith('.md'))
1119
- .sort();
1120
- for (const file of files) {
1121
- // platform 过滤:无 platform 时加载全部;有 platform 时加载 common + 匹配端
1122
- if (platform) {
1123
- const base = file.replace(/\.md$/, '');
1124
- const isCommon = base.includes('-common');
1125
- const isPlatformMatch = base === platform || base.endsWith(`-${platform}`) || base.includes(`-${platform}-`);
1126
- if (!isCommon && !isPlatformMatch)
1127
- continue;
1128
- }
1129
- const content = await (0, fs_extra_1.readFile)((0, path_1.join)(businessRulesDir, file), 'utf-8');
1130
- ctx.keyFileSummaries.push({ path: `BUSINESS_RULES/${file}`, content: content.slice(0, 4000) });
1131
- }
1109
+ // v8.3.184+: 业务规则三层统一加载(全局 BUSINESS_RULES/ + 端级 + 功能级)
1110
+ try {
1111
+ const { loadBusinessRules } = await Promise.resolve().then(() => __importStar(require('./business-rules')));
1112
+ const rules = await loadBusinessRules({ cwd, platform, feature });
1113
+ for (const item of rules) {
1114
+ ctx.keyFileSummaries.push({ path: item.path, content: item.content });
1132
1115
  }
1133
- catch { /* 忽略 */ }
1134
1116
  }
1117
+ catch { /* 忽略 */ }
1135
1118
  // 3. v8.3.134+: RULES/ 规则文件自动注入(四层架构第二层)
1136
1119
  // 按 frontmatter priority 降序排序,优先加载高优先级规则;总量上限 8000 字符
1137
1120
  const rulesDir = (0, path_1.join)(cwd, '.speccore', 'RULES');
@@ -1631,8 +1614,8 @@ function getInstruction(command, context) {
1631
1614
  */
1632
1615
  // v8.3.160+: 命令 → 默认子 Agent 角色映射
1633
1616
  const DEFAULT_SUBAGENT_MAP = {
1634
- analyze: 'spec-analyzer',
1635
- execute: 'spec-executor',
1617
+ analyze: 'requirement-analyzer',
1618
+ execute: 'code-generator',
1636
1619
  split: 'task-decomposer',
1637
1620
  plan: 'schedule-planner',
1638
1621
  change: 'impact-analyst',
@@ -2431,6 +2414,23 @@ function formatPrompt(prompt, maxTokens) {
2431
2414
  logger_1.logger?.info?.(` 🪶 Prompt 已极简模式:仅保留技术栈/API/核心指令`);
2432
2415
  return result;
2433
2416
  }
2417
+ // ═══════════════════════════════════════════════════════════
2418
+ // v8.3.187+ 通用行为准则(degrade to honesty 体系)
2419
+ // 融合业界最佳实践:
2420
+ // - Claude Code 官方系统提示词:Read before write / Minimal change / 不臆造 API
2421
+ // - Anthropic Prompt Library:avoid over-engineering / hallucination-free / 诚实标注
2422
+ // - Karpathy 12 规则:Think before coding / Precise edits / 主动澄清 / 明确失败报告
2423
+ // 原则:少而精(5–8 条为宜,过多会导致合规率骤降),每条可操作、正面指令 + 明确禁止结合。
2424
+ // ═══════════════════════════════════════════════════════════
2425
+ const UNIVERSAL_BEHAVIOR_RULES = [
2426
+ '- **Spec 优先(最高优先级)**:代码、口头要求与 Spec(REQ/TECH/API_CONTRACT)冲突时,一律以 Spec 为准,并明确指出冲突点与差异。',
2427
+ '- **先读后写**:动手改代码前,先读相关 Spec 与现有实现;禁止凭空臆造不存在的 API、字段、路径或库方法,不确定就查,查不到就如实说明。',
2428
+ '- **不迎合用户**:优先保证技术正确与真实,而非附和用户;需求有缺陷、自相矛盾或不合理处,直接指出并给建议,不为顺从而照做。',
2429
+ '- **最小改动**:只做当前任务要求或明确必要的改动;不顺手重构无关代码、不添加超出需求的「改进」、不过度设计;无用代码直接删除,不留兼容性 hack。',
2430
+ '- **主动澄清**:需求或 Spec 有歧义、缺关键信息时,先提出澄清问题或明确列出假设,不擅自猜测后闷头实现。',
2431
+ '- **降级到诚实**:区分「事实 / 推断 / 猜测」;不确定的信息标注置信度,不编造;做不到或没把握的方案,说明局限,不给自信的错误答案。',
2432
+ '- **破坏性操作先确认**:删除、覆盖、迁移文件或改动公共 API 等影响面大/不可逆的操作,先说明影响并确认后再执行。',
2433
+ ];
2434
2434
  /** 实际构建 prompt 文本(无裁剪逻辑) */
2435
2435
  function buildPromptText(prompt) {
2436
2436
  // v8.3.160+: analyze 命令使用 buildMultiDocPrompt 生成的原始 Prompt,直接返回
@@ -2440,6 +2440,11 @@ function buildPromptText(prompt) {
2440
2440
  const lines = [];
2441
2441
  lines.push('[SPECCORE_PROMPT]');
2442
2442
  lines.push('');
2443
+ // v8.3.184+ 通用行为准则(v8.3.187+ 扩展并抽取为 UNIVERSAL_BEHAVIOR_RULES 常量)
2444
+ lines.push('## 通用行为准则');
2445
+ for (const rule of UNIVERSAL_BEHAVIOR_RULES)
2446
+ lines.push(rule);
2447
+ lines.push('');
2443
2448
  // v8.3.160+: 注入子 Agent 角色定义和上下文裁剪策略
2444
2449
  if (prompt.agentContext) {
2445
2450
  lines.push(prompt.agentContext);
@@ -2801,32 +2806,22 @@ async function expandMarkdownLinks(content, baseDir, seenPaths, maxDepth = 3, cu
2801
2806
  let linkContent = await (0, fs_extra_1.readFile)(resolved, 'utf-8');
2802
2807
  if (linkContent.trim().length <= 30)
2803
2808
  continue;
2804
- // v8.3.138+: HTML/原型文件使用独立阈值(8KB),避免原型文件被过度截断。
2805
- // 超过阈值不截断 inline(避免结构残缺误导 AI),而是提示宿主 AI 直接打开查看。
2806
2809
  const isHtml = resolved.endsWith('.html') || resolved.endsWith('.htm');
2807
- const htmlMaxChars = 8192; // 8KB,足够覆盖大多数 HTML 原型
2808
- const isLarge = isHtml ? linkContent.length > htmlMaxChars : linkContent.length > maxChars;
2809
- if (isHtml && isLarge) {
2810
- expansions.push(`\n\n---\n📄 **HTML 原型文件**(内容过大未展开,宿主 AI 请务必直接打开查看):\n` +
2811
- `- 文件: ${resolved}\n` +
2812
- `- 大小: ${(linkContent.length / 1024).toFixed(1)} KB\n` +
2813
- `- 描述: ${link.text || '无描述'}\n` +
2814
- `> ⚠️ **请打开此 HTML 文件查看完整内容**。此为页面原型/设计稿,与需求理解高度相关,CLI 因文件过大未完整展开,需要你直接打开文件查看。`);
2815
- continue;
2816
- }
2817
- // v8.3.122+: HTML 原型文件保留完整内容,不再提取纯文本
2810
+ // v8.3.183+: 统一用结构化摘要替代全文内联
2811
+ // - html → Playwright accessibility tree(页面结构),失败降级 extractHtmlText
2812
+ // - md → 标题大纲
2813
+ let rawSummary;
2818
2814
  if (isHtml) {
2819
- // 保留原始 HTML(包含 CSS/JS/结构),让 AI 完整解析原型
2815
+ const proto = await (0, html_prototype_1.renderHtmlPrototype)(resolved);
2816
+ rawSummary = proto?.accessibilityTree || (0, rag_engine_1.extractHtmlText)(linkContent);
2820
2817
  }
2821
- const isTruncated = isHtml ? linkContent.length > htmlMaxChars : linkContent.length > maxChars;
2822
- if (isTruncated) {
2823
- linkContent = linkContent.slice(0, maxChars) +
2824
- `\n\n---\n📄 **文件内容已截断**(宿主 AI 请务必打开查看完整内容):\n` +
2825
- `- 文件: ${resolved}\n` +
2826
- `- 大小: ${(await (0, fs_extra_1.stat)(resolved)).size} 字节\n` +
2827
- `> ⚠️ **请打开此文件查看完整内容**。此文件与需求理解高度相关,CLI 因长度限制已截断,需要你直接打开文件查看。`;
2818
+ else {
2819
+ rawSummary = (0, content_delivery_1.extractMdOutline)(linkContent);
2828
2820
  }
2829
- expansions.push(`\n\n<!-- 展开链接: ${link.path} -->\n**[链接展开] ${link.text}** (${link.path}):\n\n${linkContent}`);
2821
+ const summary = rawSummary.length > maxChars
2822
+ ? rawSummary.slice(0, maxChars) + '\n…(摘要截断)'
2823
+ : rawSummary;
2824
+ expansions.push(`\n\n**[链接] ${link.text}** (${link.path}):\n${summary}\n> 全文见 \`${resolved}\``);
2830
2825
  }
2831
2826
  catch { /* 忽略读取失败的链接文件 */ }
2832
2827
  }
@@ -2900,17 +2895,21 @@ async function inlineMarkdownImages(content, baseDir, seenPaths, visionConfig, m
2900
2895
  }
2901
2896
  }
2902
2897
  else {
2903
- // v8.3.138+: 无视觉模型时,明确提示宿主 AI 打开图片查看(不要用 HTML 注释,AI 会忽略)
2904
- inlines.push(`\n\n---\n🖼️ **图片文件**(CLI 无法解析图片内容,宿主 AI 请务必直接打开查看):`);
2905
- inlines.push(`- ${img.alt || '无描述'}: ${resolved}`);
2906
- try {
2907
- if (await (0, fs_extra_1.pathExists)(resolved)) {
2908
- const st = await (0, fs_extra_1.stat)(resolved);
2909
- inlines.push(`- 文件大小: ${(st.size / 1024).toFixed(1)} KB`);
2898
+ // v8.3.183+: 无视觉模型时,用 alt 语义兜底(硬保证有描述),"请打开"降为补充
2899
+ const altDesc = img.alt && img.alt.trim() ? img.alt.trim() : '';
2900
+ if (altDesc) {
2901
+ inlines.push(`\n\n---\n🖼️ **图片** ${altDesc}:\`${resolved}\`\n> 图片细节需宿主 AI 打开查看(CLI 无视觉模型,仅能提供 alt 语义)`);
2902
+ }
2903
+ else {
2904
+ inlines.push(`\n\n---\n🖼️ **图片文件**(无 alt 描述,宿主 AI 请打开查看):\n- ${resolved}`);
2905
+ try {
2906
+ if (await (0, fs_extra_1.pathExists)(resolved)) {
2907
+ const st = await (0, fs_extra_1.stat)(resolved);
2908
+ inlines.push(`- 文件大小: ${(st.size / 1024).toFixed(1)} KB`);
2909
+ }
2910
2910
  }
2911
+ catch { /* ignore */ }
2911
2912
  }
2912
- catch { /* ignore */ }
2913
- inlines.push(`> ⚠️ **请打开此图片文件查看内容**。此图片与需求理解高度相关,CLI 无法自动解析图片内容,需要你直接打开文件查看。`);
2914
2913
  }
2915
2914
  }
2916
2915
  // v8.3.125+: 在内容末尾附加外链图片清单,提示宿主 AI 按需查看