@specship/specship-win32-arm64 0.25.0 → 0.28.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 (274) hide show
  1. package/bin/specship.cmd +31 -1
  2. package/lib/dist/activation/cheatsheet.d.ts +17 -1
  3. package/lib/dist/activation/cheatsheet.d.ts.map +1 -1
  4. package/lib/dist/activation/cheatsheet.js +47 -3
  5. package/lib/dist/activation/cheatsheet.js.map +1 -1
  6. package/lib/dist/activation/hook-output.d.ts +80 -0
  7. package/lib/dist/activation/hook-output.d.ts.map +1 -0
  8. package/lib/dist/activation/hook-output.js +103 -0
  9. package/lib/dist/activation/hook-output.js.map +1 -0
  10. package/lib/dist/activation/search-intercept.d.ts +60 -29
  11. package/lib/dist/activation/search-intercept.d.ts.map +1 -1
  12. package/lib/dist/activation/search-intercept.js +159 -55
  13. package/lib/dist/activation/search-intercept.js.map +1 -1
  14. package/lib/dist/activation/steering.d.ts +8 -10
  15. package/lib/dist/activation/steering.d.ts.map +1 -1
  16. package/lib/dist/activation/steering.js +21 -6
  17. package/lib/dist/activation/steering.js.map +1 -1
  18. package/lib/dist/behaviour/behaviour-surface.d.ts +47 -0
  19. package/lib/dist/behaviour/behaviour-surface.d.ts.map +1 -1
  20. package/lib/dist/behaviour/behaviour-surface.js +108 -2
  21. package/lib/dist/behaviour/behaviour-surface.js.map +1 -1
  22. package/lib/dist/bin/node-version-check.d.ts +22 -7
  23. package/lib/dist/bin/node-version-check.d.ts.map +1 -1
  24. package/lib/dist/bin/node-version-check.js +39 -9
  25. package/lib/dist/bin/node-version-check.js.map +1 -1
  26. package/lib/dist/bin/specship.js +762 -81
  27. package/lib/dist/bin/specship.js.map +1 -1
  28. package/lib/dist/commands/specship/learn.md +22 -0
  29. package/lib/dist/commands/specship/spec.md +12 -0
  30. package/lib/dist/db/sqlite-adapter.d.ts +7 -5
  31. package/lib/dist/db/sqlite-adapter.d.ts.map +1 -1
  32. package/lib/dist/db/sqlite-adapter.js +11 -9
  33. package/lib/dist/db/sqlite-adapter.js.map +1 -1
  34. package/lib/dist/enforce/changed-files.d.ts +11 -0
  35. package/lib/dist/enforce/changed-files.d.ts.map +1 -1
  36. package/lib/dist/enforce/changed-files.js +42 -0
  37. package/lib/dist/enforce/changed-files.js.map +1 -1
  38. package/lib/dist/enforce/enforce.d.ts +25 -1
  39. package/lib/dist/enforce/enforce.d.ts.map +1 -1
  40. package/lib/dist/enforce/enforce.js +58 -3
  41. package/lib/dist/enforce/enforce.js.map +1 -1
  42. package/lib/dist/enforce/mutation.d.ts +46 -0
  43. package/lib/dist/enforce/mutation.d.ts.map +1 -0
  44. package/lib/dist/enforce/mutation.js +104 -0
  45. package/lib/dist/enforce/mutation.js.map +1 -0
  46. package/lib/dist/enforce/suppressions.d.ts +33 -0
  47. package/lib/dist/enforce/suppressions.d.ts.map +1 -0
  48. package/lib/dist/enforce/suppressions.js +159 -0
  49. package/lib/dist/enforce/suppressions.js.map +1 -0
  50. package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -1
  51. package/lib/dist/extraction/specs/markdown-spec-extractor.js +16 -2
  52. package/lib/dist/extraction/specs/markdown-spec-extractor.js.map +1 -1
  53. package/lib/dist/graph/spec-coverage.d.ts +57 -1
  54. package/lib/dist/graph/spec-coverage.d.ts.map +1 -1
  55. package/lib/dist/graph/spec-coverage.js +129 -5
  56. package/lib/dist/graph/spec-coverage.js.map +1 -1
  57. package/lib/dist/health/smoke-check.js +2 -2
  58. package/lib/dist/health/smoke-check.js.map +1 -1
  59. package/lib/dist/index.d.ts +8 -3
  60. package/lib/dist/index.d.ts.map +1 -1
  61. package/lib/dist/index.js +65 -9
  62. package/lib/dist/index.js.map +1 -1
  63. package/lib/dist/installer/gemini-commands.d.ts +107 -0
  64. package/lib/dist/installer/gemini-commands.d.ts.map +1 -0
  65. package/lib/dist/installer/gemini-commands.js +264 -0
  66. package/lib/dist/installer/gemini-commands.js.map +1 -0
  67. package/lib/dist/installer/index.d.ts +23 -1
  68. package/lib/dist/installer/index.d.ts.map +1 -1
  69. package/lib/dist/installer/index.js +22 -3
  70. package/lib/dist/installer/index.js.map +1 -1
  71. package/lib/dist/installer/install-defaults.d.ts +19 -0
  72. package/lib/dist/installer/install-defaults.d.ts.map +1 -1
  73. package/lib/dist/installer/install-defaults.js +28 -0
  74. package/lib/dist/installer/install-defaults.js.map +1 -1
  75. package/lib/dist/installer/instructions-template.d.ts +22 -0
  76. package/lib/dist/installer/instructions-template.d.ts.map +1 -1
  77. package/lib/dist/installer/instructions-template.js +37 -1
  78. package/lib/dist/installer/instructions-template.js.map +1 -1
  79. package/lib/dist/installer/targets/claude.d.ts +4 -0
  80. package/lib/dist/installer/targets/claude.d.ts.map +1 -1
  81. package/lib/dist/installer/targets/claude.js +8 -25
  82. package/lib/dist/installer/targets/claude.js.map +1 -1
  83. package/lib/dist/installer/targets/gemini.d.ts +85 -12
  84. package/lib/dist/installer/targets/gemini.d.ts.map +1 -1
  85. package/lib/dist/installer/targets/gemini.js +527 -30
  86. package/lib/dist/installer/targets/gemini.js.map +1 -1
  87. package/lib/dist/installer/targets/shared.d.ts +13 -0
  88. package/lib/dist/installer/targets/shared.d.ts.map +1 -1
  89. package/lib/dist/installer/targets/shared.js +18 -0
  90. package/lib/dist/installer/targets/shared.js.map +1 -1
  91. package/lib/dist/installer/targets/types.d.ts +12 -0
  92. package/lib/dist/installer/targets/types.d.ts.map +1 -1
  93. package/lib/dist/jira/auto-publish.d.ts +71 -4
  94. package/lib/dist/jira/auto-publish.d.ts.map +1 -1
  95. package/lib/dist/jira/auto-publish.js +186 -17
  96. package/lib/dist/jira/auto-publish.js.map +1 -1
  97. package/lib/dist/jira/reconcile.d.ts +24 -1
  98. package/lib/dist/jira/reconcile.d.ts.map +1 -1
  99. package/lib/dist/jira/reconcile.js +46 -2
  100. package/lib/dist/jira/reconcile.js.map +1 -1
  101. package/lib/dist/jira/repo-config.d.ts +9 -0
  102. package/lib/dist/jira/repo-config.d.ts.map +1 -1
  103. package/lib/dist/jira/repo-config.js +11 -0
  104. package/lib/dist/jira/repo-config.js.map +1 -1
  105. package/lib/dist/jira/types.d.ts +7 -0
  106. package/lib/dist/jira/types.d.ts.map +1 -1
  107. package/lib/dist/jira/types.js.map +1 -1
  108. package/lib/dist/knowledge/enforce.d.ts +75 -0
  109. package/lib/dist/knowledge/enforce.d.ts.map +1 -0
  110. package/lib/dist/knowledge/enforce.js +250 -0
  111. package/lib/dist/knowledge/enforce.js.map +1 -0
  112. package/lib/dist/knowledge/facts.d.ts +33 -0
  113. package/lib/dist/knowledge/facts.d.ts.map +1 -0
  114. package/lib/dist/knowledge/facts.js +117 -0
  115. package/lib/dist/knowledge/facts.js.map +1 -0
  116. package/lib/dist/knowledge/proposals.d.ts +88 -0
  117. package/lib/dist/knowledge/proposals.d.ts.map +1 -0
  118. package/lib/dist/knowledge/proposals.js +360 -0
  119. package/lib/dist/knowledge/proposals.js.map +1 -0
  120. package/lib/dist/knowledge/stale.d.ts +64 -0
  121. package/lib/dist/knowledge/stale.d.ts.map +1 -0
  122. package/lib/dist/knowledge/stale.js +174 -0
  123. package/lib/dist/knowledge/stale.js.map +1 -0
  124. package/lib/dist/mcp/gemini-session.d.ts +50 -0
  125. package/lib/dist/mcp/gemini-session.d.ts.map +1 -0
  126. package/lib/dist/mcp/gemini-session.js +159 -0
  127. package/lib/dist/mcp/gemini-session.js.map +1 -0
  128. package/lib/dist/mcp/jira-tools.d.ts.map +1 -1
  129. package/lib/dist/mcp/jira-tools.js +25 -0
  130. package/lib/dist/mcp/jira-tools.js.map +1 -1
  131. package/lib/dist/mcp/model-context.d.ts +22 -9
  132. package/lib/dist/mcp/model-context.d.ts.map +1 -1
  133. package/lib/dist/mcp/model-context.js +35 -13
  134. package/lib/dist/mcp/model-context.js.map +1 -1
  135. package/lib/dist/mcp/proxy.js +1 -1
  136. package/lib/dist/mcp/proxy.js.map +1 -1
  137. package/lib/dist/mcp/server-instructions.d.ts +16 -15
  138. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  139. package/lib/dist/mcp/server-instructions.js +67 -1
  140. package/lib/dist/mcp/server-instructions.js.map +1 -1
  141. package/lib/dist/mcp/session.js +1 -1
  142. package/lib/dist/mcp/session.js.map +1 -1
  143. package/lib/dist/mcp/spec-tools.d.ts +9 -1
  144. package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
  145. package/lib/dist/mcp/spec-tools.js +69 -21
  146. package/lib/dist/mcp/spec-tools.js.map +1 -1
  147. package/lib/dist/mcp/tools.d.ts +37 -1
  148. package/lib/dist/mcp/tools.d.ts.map +1 -1
  149. package/lib/dist/mcp/tools.js +120 -9
  150. package/lib/dist/mcp/tools.js.map +1 -1
  151. package/lib/dist/pulse/pulse.d.ts +93 -0
  152. package/lib/dist/pulse/pulse.d.ts.map +1 -0
  153. package/lib/dist/pulse/pulse.js +401 -0
  154. package/lib/dist/pulse/pulse.js.map +1 -0
  155. package/lib/dist/reflect/apply.d.ts.map +1 -1
  156. package/lib/dist/reflect/apply.js +38 -3
  157. package/lib/dist/reflect/apply.js.map +1 -1
  158. package/lib/dist/reflect/auto-sweep.d.ts +26 -0
  159. package/lib/dist/reflect/auto-sweep.d.ts.map +1 -0
  160. package/lib/dist/reflect/auto-sweep.js +90 -0
  161. package/lib/dist/reflect/auto-sweep.js.map +1 -0
  162. package/lib/dist/reflect/cli.d.ts +62 -0
  163. package/lib/dist/reflect/cli.d.ts.map +1 -0
  164. package/lib/dist/reflect/cli.js +163 -0
  165. package/lib/dist/reflect/cli.js.map +1 -0
  166. package/lib/dist/reflect/miner.d.ts.map +1 -1
  167. package/lib/dist/reflect/miner.js +119 -0
  168. package/lib/dist/reflect/miner.js.map +1 -1
  169. package/lib/dist/reflect/sweep.d.ts +1 -0
  170. package/lib/dist/reflect/sweep.d.ts.map +1 -1
  171. package/lib/dist/reflect/sweep.js +62 -13
  172. package/lib/dist/reflect/sweep.js.map +1 -1
  173. package/lib/dist/reflect/targets.d.ts +2 -0
  174. package/lib/dist/reflect/targets.d.ts.map +1 -1
  175. package/lib/dist/reflect/targets.js +33 -0
  176. package/lib/dist/reflect/targets.js.map +1 -1
  177. package/lib/dist/reflect/types.d.ts +19 -2
  178. package/lib/dist/reflect/types.d.ts.map +1 -1
  179. package/lib/dist/resolution/test-title-links.d.ts.map +1 -1
  180. package/lib/dist/resolution/test-title-links.js +3 -14
  181. package/lib/dist/resolution/test-title-links.js.map +1 -1
  182. package/lib/dist/server/routes/claude.js +15 -7
  183. package/lib/dist/server/routes/knowledge.js +118 -0
  184. package/lib/dist/server/server.js +2 -0
  185. package/lib/dist/spec-lint/lint.d.ts +1 -1
  186. package/lib/dist/spec-lint/lint.d.ts.map +1 -1
  187. package/lib/dist/spec-lint/lint.js +63 -2
  188. package/lib/dist/spec-lint/lint.js.map +1 -1
  189. package/lib/dist/spec-quality/criterion-ids.d.ts +13 -0
  190. package/lib/dist/spec-quality/criterion-ids.d.ts.map +1 -0
  191. package/lib/dist/spec-quality/criterion-ids.js +38 -0
  192. package/lib/dist/spec-quality/criterion-ids.js.map +1 -0
  193. package/lib/dist/spec-quality/evidence-kind.d.ts +54 -0
  194. package/lib/dist/spec-quality/evidence-kind.d.ts.map +1 -0
  195. package/lib/dist/spec-quality/evidence-kind.js +183 -0
  196. package/lib/dist/spec-quality/evidence-kind.js.map +1 -0
  197. package/lib/dist/spec-quality/link-persist.d.ts +65 -0
  198. package/lib/dist/spec-quality/link-persist.d.ts.map +1 -0
  199. package/lib/dist/spec-quality/link-persist.js +249 -0
  200. package/lib/dist/spec-quality/link-persist.js.map +1 -0
  201. package/lib/dist/spec-quality/plan-scope.d.ts +38 -0
  202. package/lib/dist/spec-quality/plan-scope.d.ts.map +1 -0
  203. package/lib/dist/spec-quality/plan-scope.js +129 -0
  204. package/lib/dist/spec-quality/plan-scope.js.map +1 -0
  205. package/lib/dist/spec-quality/postcheck.d.ts +85 -0
  206. package/lib/dist/spec-quality/postcheck.d.ts.map +1 -0
  207. package/lib/dist/spec-quality/postcheck.js +390 -0
  208. package/lib/dist/spec-quality/postcheck.js.map +1 -0
  209. package/lib/dist/spec-quality/readiness.d.ts +72 -0
  210. package/lib/dist/spec-quality/readiness.d.ts.map +1 -0
  211. package/lib/dist/spec-quality/readiness.js +226 -0
  212. package/lib/dist/spec-quality/readiness.js.map +1 -0
  213. package/lib/dist/workflows/agents/claude.d.ts +16 -0
  214. package/lib/dist/workflows/agents/claude.d.ts.map +1 -0
  215. package/lib/dist/workflows/agents/claude.js +82 -0
  216. package/lib/dist/workflows/agents/claude.js.map +1 -0
  217. package/lib/dist/workflows/agents/gemini.d.ts +21 -0
  218. package/lib/dist/workflows/agents/gemini.d.ts.map +1 -0
  219. package/lib/dist/workflows/agents/gemini.js +124 -0
  220. package/lib/dist/workflows/agents/gemini.js.map +1 -0
  221. package/lib/dist/workflows/agents/index.d.ts +28 -0
  222. package/lib/dist/workflows/agents/index.d.ts.map +1 -0
  223. package/lib/dist/workflows/agents/index.js +104 -0
  224. package/lib/dist/workflows/agents/index.js.map +1 -0
  225. package/lib/dist/workflows/agents/types.d.ts +55 -0
  226. package/lib/dist/workflows/agents/types.d.ts.map +1 -0
  227. package/lib/dist/workflows/agents/types.js +46 -0
  228. package/lib/dist/workflows/agents/types.js.map +1 -0
  229. package/lib/dist/workflows/batch.d.ts +63 -0
  230. package/lib/dist/workflows/batch.d.ts.map +1 -0
  231. package/lib/dist/workflows/batch.js +151 -0
  232. package/lib/dist/workflows/batch.js.map +1 -0
  233. package/lib/dist/workflows/defaults/claude-design-implement.yaml +3 -4
  234. package/lib/dist/workflows/defaults/spec-author.yaml +11 -9
  235. package/lib/dist/workflows/defaults/spec-implement-mixed.yaml +21 -436
  236. package/lib/dist/workflows/defaults/spec-implement.yaml +465 -46
  237. package/lib/dist/workflows/discovery.d.ts +13 -0
  238. package/lib/dist/workflows/discovery.d.ts.map +1 -1
  239. package/lib/dist/workflows/discovery.js +79 -17
  240. package/lib/dist/workflows/discovery.js.map +1 -1
  241. package/lib/dist/workflows/executor.d.ts +18 -0
  242. package/lib/dist/workflows/executor.d.ts.map +1 -1
  243. package/lib/dist/workflows/executor.js +130 -33
  244. package/lib/dist/workflows/executor.js.map +1 -1
  245. package/lib/dist/workflows/gc.d.ts +50 -0
  246. package/lib/dist/workflows/gc.d.ts.map +1 -0
  247. package/lib/dist/workflows/gc.js +120 -0
  248. package/lib/dist/workflows/gc.js.map +1 -0
  249. package/lib/dist/workflows/merge-queue.d.ts +64 -0
  250. package/lib/dist/workflows/merge-queue.d.ts.map +1 -0
  251. package/lib/dist/workflows/merge-queue.js +162 -0
  252. package/lib/dist/workflows/merge-queue.js.map +1 -0
  253. package/lib/dist/workflows/runners/approval.d.ts +1 -1
  254. package/lib/dist/workflows/runners/approval.d.ts.map +1 -1
  255. package/lib/dist/workflows/runners/approval.js +11 -2
  256. package/lib/dist/workflows/runners/approval.js.map +1 -1
  257. package/lib/dist/workflows/runners/bash.d.ts +15 -0
  258. package/lib/dist/workflows/runners/bash.d.ts.map +1 -1
  259. package/lib/dist/workflows/runners/bash.js +50 -1
  260. package/lib/dist/workflows/runners/bash.js.map +1 -1
  261. package/lib/dist/workflows/runners/prompt.d.ts +16 -41
  262. package/lib/dist/workflows/runners/prompt.d.ts.map +1 -1
  263. package/lib/dist/workflows/runners/prompt.js +55 -120
  264. package/lib/dist/workflows/runners/prompt.js.map +1 -1
  265. package/lib/dist/workflows/runners/types.d.ts +12 -0
  266. package/lib/dist/workflows/runners/types.d.ts.map +1 -1
  267. package/lib/dist/workflows/schemas/workflow.d.ts +17 -0
  268. package/lib/dist/workflows/schemas/workflow.d.ts.map +1 -1
  269. package/lib/dist/workflows/schemas/workflow.js +27 -0
  270. package/lib/dist/workflows/schemas/workflow.js.map +1 -1
  271. package/lib/node_modules/.package-lock.json +1 -1
  272. package/lib/package.json +2 -2
  273. package/package.json +5 -3
  274. package/node.exe +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"miner.js","sourceRoot":"","sources":["../../src/reflect/miner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miner.js","sourceRoot":"","sources":["../../src/reflect/miner.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export declare function sweep(db: SqliteDatabase, ctx: ReflectContext, now?: ()
33
33
  export declare function capture(db: SqliteDatabase, ctx: ReflectContext, input: {
34
34
  title: string;
35
35
  content: string;
36
+ lane?: 'skill' | 'style' | 'domain';
36
37
  }, now?: () => number): Proposal;
37
38
  /**
38
39
  * Explicit lesson capture (MEMLESSON-DOC, REQ-MEMLESSON-001): the anti-pattern
@@ -1 +1 @@
1
- {"version":3,"file":"sweep.d.ts","sourceRoot":"","sources":["../../src/reflect/sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,oFAAoF;IACpF,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,gFAAgF;IAChF,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,wBAAgB,OAAO,CACrB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,GAAG,GAAE,MAAM,MAAyB,GACnC,aAAa,CAKf;AAED,wBAAgB,KAAK,CACnB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,GAAG,GAAE,MAAM,MAAyB,GACnC,WAAW,CAgBb;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACzC,GAAG,GAAE,MAAM,MAAyB,GACnC,QAAQ,CAmBV;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAA;CAAE,EACxE,GAAG,GAAE,MAAM,MAAyB,GACnC,QAAQ,CAqBV"}
1
+ {"version":3,"file":"sweep.d.ts","sourceRoot":"","sources":["../../src/reflect/sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,oFAAoF;IACpF,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,gFAAgF;IAChF,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,wBAAgB,OAAO,CACrB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,GAAG,GAAE,MAAM,MAAyB,GACnC,aAAa,CAKf;AAED,wBAAgB,KAAK,CACnB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,GAAG,GAAE,MAAM,MAAyB,GACnC,WAAW,CAgBb;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,EAC9E,GAAG,GAAE,MAAM,MAAyB,GACnC,QAAQ,CA4CV;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAA;CAAE,EACxE,GAAG,GAAE,MAAM,MAAyB,GACnC,QAAQ,CAqBV"}
@@ -52,19 +52,43 @@ function sweep(db, ctx, now = () => Date.now()) {
52
52
  function capture(db, ctx, input, now = () => Date.now()) {
53
53
  const store = new store_1.ReflectStore(db, now);
54
54
  const title = input.title.trim();
55
- const proposal = (0, targets_1.buildProposal)(ctx, {
56
- type: 'skill',
57
- severity: 'info',
58
- nameSeed: `learn-${title}`,
59
- title: `Captured routine: ${title}`,
60
- body: 'Explicitly captured via /specship:learn — a distilled routine from a real session, awaiting your review.',
61
- content: input.content.trim(),
62
- evidence: {
63
- sessions: [],
64
- prompts: [],
65
- detail: 'explicitly captured (/specship:learn)',
66
- },
67
- });
55
+ const lane = input.lane ?? 'skill';
56
+ // Lane routing (ALEARN-DOC): 'style' stages a conventions rule
57
+ // (REQ-ALEARN-001), 'domain' a draft domain fact (REQ-ALEARN-003) — same
58
+ // store, same human gate as the default skill lane.
59
+ const proposal = lane === 'style'
60
+ ? (0, targets_1.buildProposal)(ctx, {
61
+ type: 'style_rule',
62
+ severity: 'info',
63
+ nameSeed: `style-${title}`,
64
+ title: `Convention: ${title}`,
65
+ body: 'Explicitly captured via /specship:learn style — a project convention from a real session, awaiting your review.',
66
+ content: input.content.trim(),
67
+ evidence: { sessions: [], prompts: [], detail: 'explicitly captured (/specship:learn style)' },
68
+ })
69
+ : lane === 'domain'
70
+ ? (0, targets_1.buildProposal)(ctx, {
71
+ type: 'domain_fact',
72
+ severity: 'info',
73
+ nameSeed: title,
74
+ title: `Draft domain fact: ${title}`,
75
+ body: 'Explicitly captured via /specship:learn domain — business/product knowledge from a real session. Review/edit the draft; applying lands it under specs/domain/.',
76
+ content: renderCapturedDomainFact(title, input.content.trim()),
77
+ evidence: { sessions: [], prompts: [], detail: 'explicitly captured (/specship:learn domain)' },
78
+ })
79
+ : (0, targets_1.buildProposal)(ctx, {
80
+ type: 'skill',
81
+ severity: 'info',
82
+ nameSeed: `learn-${title}`,
83
+ title: `Captured routine: ${title}`,
84
+ body: 'Explicitly captured via /specship:learn — a distilled routine from a real session, awaiting your review.',
85
+ content: input.content.trim(),
86
+ evidence: {
87
+ sessions: [],
88
+ prompts: [],
89
+ detail: 'explicitly captured (/specship:learn)',
90
+ },
91
+ });
68
92
  store.upsertMined([proposal]);
69
93
  // Return the stored row (state may differ if it already existed).
70
94
  return store.list().find((p) => p.contentHash === proposal.contentHash) ?? proposal;
@@ -99,4 +123,29 @@ function captureLesson(db, ctx, input, now = () => Date.now()) {
99
123
  store.upsertMined([proposal]);
100
124
  return store.list().find((p) => p.contentHash === proposal.contentHash) ?? proposal;
101
125
  }
126
+ /** A captured domain fact rendered as a complete draft fact file. */
127
+ function renderCapturedDomainFact(title, content) {
128
+ const slug = title
129
+ .toLowerCase()
130
+ .replace(/[^a-z0-9]+/g, '-')
131
+ .replace(/(^-|-$)/g, '')
132
+ .slice(0, 48) || 'fact';
133
+ const domId = `DOM-${slug.toUpperCase().replace(/-/g, '')}-001`.slice(0, 40);
134
+ return [
135
+ '---',
136
+ `id: ${domId}`,
137
+ `title: ${title}`,
138
+ 'type: term',
139
+ `specship_proposal: ${slug}`,
140
+ '---',
141
+ '',
142
+ `# ${title}`,
143
+ '',
144
+ content,
145
+ '',
146
+ '_Link this fact to its requirement spec(s) via `depends_on:` — domain facts',
147
+ 'attach at the spec tier (DOM-SPECSHIP-002)._',
148
+ '',
149
+ ].join('\n');
150
+ }
102
151
  //# sourceMappingURL=sweep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/reflect/sweep.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAoBH,0BASC;AAED,sBAoBC;AASD,0BAwBC;AAWD,sCA0BC;AAtHD,mCAAwC;AACxC,uCAA0C;AAC1C,mCAAuC;AAevC,SAAgB,OAAO,CACrB,EAAkB,EAClB,GAAmB,EACnB,MAAoB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAEpC,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAA,qBAAa,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAgB,KAAK,CACnB,EAAkB,EAClB,GAAmB,EACnB,MAAoB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAEpC,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAA,qBAAa,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,wEAAwE;YACxE,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CACrB,EAAkB,EAClB,GAAmB,EACnB,KAAyC,EACzC,MAAoB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAEpC,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,GAAG,EAAE;QAClC,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,SAAS,KAAK,EAAE;QAC1B,KAAK,EAAE,qBAAqB,KAAK,EAAE;QACnC,IAAI,EAAE,0GAA0G;QAChH,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAC7B,QAAQ,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,uCAAuC;SAChD;KACF,CAAC,CAAC;IACH,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9B,kEAAkE;IAClE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC;AACtF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAC3B,EAAkB,EAClB,GAAmB,EACnB,KAAwE,EACxE,MAAoB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAEpC,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,GAAG,EAAE;QAClC,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,UAAU,KAAK,EAAE;QAC3B,KAAK,EAAE,WAAW,KAAK,EAAE;QACzB,IAAI,EACF,yEAAyE;YACzE,wCAAwC;QAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAC7B,QAAQ,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,+CAA+C;SACxD;KACF,CAAC,CAAC;IACH,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/reflect/sweep.ts"],"names":[],"mappings":"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"}
@@ -49,4 +49,6 @@ export declare function buildProposal(ctx: ReflectContext, input: {
49
49
  /** A short name seed (for slug / command name). */
50
50
  nameSeed: string;
51
51
  }): Proposal;
52
+ /** Frontmatter marker stamped into an engine-created domain-fact draft. */
53
+ export declare function domainFactMarker(slug: string): string;
52
54
  //# sourceMappingURL=targets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/reflect/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAEhB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EAEf,MAAM,SAAS,CAAC;AAEjB,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAK1E;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEnD;AAUD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE;IACL,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oFAAoF;IACpF,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,QAAQ,CAsEV"}
1
+ {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/reflect/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAEhB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EAEf,MAAM,SAAS,CAAC;AAEjB,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAK1E;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEnD;AAUD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE;IACL,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oFAAoF;IACpF,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,QAAQ,CA2FV;AAiBD,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -54,6 +54,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
54
54
  exports.learningMarkers = learningMarkers;
55
55
  exports.memoryNoteMarker = memoryNoteMarker;
56
56
  exports.buildProposal = buildProposal;
57
+ exports.domainFactMarker = domainFactMarker;
57
58
  const path = __importStar(require("path"));
58
59
  const hash_1 = require("./hash");
59
60
  /** Marker bounding an engine-written block in CLAUDE.md / command files. */
@@ -103,6 +104,24 @@ function buildProposal(ctx, input) {
103
104
  payload = { kind: 'claude_md', markerId: '', block: '' };
104
105
  }
105
106
  }
107
+ else if (input.type === 'style_rule') {
108
+ // REQ-ALEARN-001: conventions land in the SpecShip-owned file, never
109
+ // CLAUDE.md (A3). Marker-block write, same idempotency/undo contract as
110
+ // claude_md.
111
+ targetKind = 'conventions';
112
+ targetPath = path.join(ctx.projectRoot, '.specship', 'conventions.md');
113
+ payload = { kind: 'conventions', markerId: '', block: '' };
114
+ }
115
+ else if (input.type === 'domain_fact') {
116
+ // REQ-ALEARN-003: a DRAFT fact file under specs/domain/. The content is
117
+ // supplied fully-formed by the miner/capture; the `specship_proposal:`
118
+ // frontmatter marker is what apply uses to tell its own file from a
119
+ // human's (conflict refusal).
120
+ const slug = slugify(input.nameSeed);
121
+ targetKind = 'domain_fact';
122
+ targetPath = path.join(ctx.projectRoot, 'specs', 'domain', `${slug}.md`);
123
+ payload = { kind: 'domain_fact', slug, content: input.content };
124
+ }
106
125
  else if (input.type === 'skill') {
107
126
  const name = slugify(input.nameSeed).replace(/^ss-/, '');
108
127
  targetKind = 'command';
@@ -130,6 +149,12 @@ function buildProposal(ctx, input) {
130
149
  payload = { kind: 'claude_md', markerId: contentHash, block };
131
150
  contentHash = (0, hash_1.proposalHash)({ type: input.type, targetKind, targetPath, payload });
132
151
  }
152
+ else if (payload.kind === 'conventions') {
153
+ const { start, end } = learningMarkers(contentHash);
154
+ const block = `${start}\n${renderConventionRule(input.title, input.content)}\n${end}`;
155
+ payload = { kind: 'conventions', markerId: contentHash, block };
156
+ contentHash = (0, hash_1.proposalHash)({ type: input.type, targetKind, targetPath, payload });
157
+ }
133
158
  else if (payload.kind === 'command') {
134
159
  const content = renderCommand(contentHash, payload.name, input.title, input.content);
135
160
  payload = { kind: 'command', name: payload.name, content };
@@ -159,6 +184,14 @@ function firstSentence(s) {
159
184
  function renderClaudeRule(title, content) {
160
185
  return `## ${title}\n\n${content}\n\n_(Added by SpecShip reflection — edit or remove freely.)_`;
161
186
  }
187
+ /** A convention entry in .specship/conventions.md (REQ-ALEARN-001). */
188
+ function renderConventionRule(title, content) {
189
+ return `## ${title}\n\n${content}`;
190
+ }
191
+ /** Frontmatter marker stamped into an engine-created domain-fact draft. */
192
+ function domainFactMarker(slug) {
193
+ return `specship_proposal: ${slug}`;
194
+ }
162
195
  /** A self-contained memory note matching the user's memory-file convention. */
163
196
  function renderMemoryNote(slug, title, content) {
164
197
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/reflect/targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/reflect/targets.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,13 @@
9
9
  * per-proposal apply (REQ-REFLECT-005).
10
10
  */
11
11
  /** The kind of durable artifact a proposal produces. */
12
- export type ProposalType = 'memory_rule' | 'skill' | 'hook';
12
+ export type ProposalType = 'memory_rule' | 'skill' | 'hook' | 'style_rule' | 'domain_fact';
13
13
  /** Severity, reusing the tips engine's scale. `high` drives sweep notifications. */
14
14
  export type ProposalSeverity = 'high' | 'warn' | 'info';
15
15
  /** Persisted lifecycle state (REQ-REFLECT-007). */
16
16
  export type ProposalState = 'open' | 'applied' | 'undone' | 'dismissed';
17
17
  /** The concrete file the apply writes. */
18
- export type TargetKind = 'claude_md' | 'memory_note' | 'command' | 'settings_hook';
18
+ export type TargetKind = 'claude_md' | 'memory_note' | 'command' | 'settings_hook' | 'conventions' | 'domain_fact';
19
19
  /** What the proposal was derived from, so the user can judge it (REQ-REFLECT-001). */
20
20
  export interface ProposalEvidence {
21
21
  /** Contributing session ids. */
@@ -48,6 +48,14 @@ export type ProposalPayload = {
48
48
  event: string;
49
49
  matcher: string;
50
50
  entry: Record<string, unknown>;
51
+ } | {
52
+ kind: 'conventions';
53
+ markerId: string;
54
+ block: string;
55
+ } | {
56
+ kind: 'domain_fact';
57
+ slug: string;
58
+ content: string;
51
59
  };
52
60
  /** A single reflection proposal. */
53
61
  export interface Proposal {
@@ -92,5 +100,14 @@ export interface ReflectContext {
92
100
  projectRoot: string;
93
101
  /** Home directory (for ~/.claude/memory notes). */
94
102
  homeDir: string;
103
+ /**
104
+ * Undocumented domain-worthy entities from the domain gap seed
105
+ * (REQ-ALEARN-003) — supplied by the caller (the SpecShip instance), since
106
+ * the miner has no graph access. Absent → the domain-fact lane is silent.
107
+ */
108
+ domainGapEntities?: Array<{
109
+ name: string;
110
+ kind: string;
111
+ }>;
95
112
  }
96
113
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/reflect/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,wDAAwD;AACxD,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5D,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAExE,0CAA0C;AAC1C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,eAAe,CAAC;AAEnF,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE9F,oCAAoC;AACpC,MAAM,WAAW,QAAQ;IACvB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhE,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5C,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/reflect/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-title-links.d.ts","sourceRoot":"","sources":["../../src/resolution/test-title-links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;CACd;AAkBD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAIV;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAoBhE"}
1
+ {"version":3,"file":"test-title-links.d.ts","sourceRoot":"","sources":["../../src/resolution/test-title-links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;CACd;AAUD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAIV;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAehE"}
@@ -28,19 +28,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.isRecognizedTestFile = isRecognizedTestFile;
29
29
  exports.isNonTestEvidence = isNonTestEvidence;
30
30
  exports.scanTestTitleRefs = scanTestTitleRefs;
31
+ const criterion_ids_1 = require("../spec-quality/criterion-ids");
31
32
  /**
32
33
  * `it(` / `test(` / `bench(` with the usual modifier chains
33
34
  * (`it.each`, `test.skip`, `it.runIf(...)`, `it.concurrent.only`) followed by a
34
35
  * quoted title. Group 2 is the quote char, group 3 the raw title body.
35
36
  */
36
37
  const TEST_CALL = /\b(?:it|test|bench)((?:\.\w+)*(?:\([^()]*\))?(?:\.\w+)*)?\s*\(\s*(['"`])((?:\\.|(?!\2)[^\\])*)\2/g;
37
- /**
38
- * A spec id as embedded in a test title: an upper-case dashed token
39
- * (`REQ-VSTATE-001`, `VSTATE-DOC`, `DOM-AUTH-003`) with an optional `.A<N>`
40
- * acceptance suffix. Deliberately loose — every hit is checked against the specs
41
- * table before a link is created, so a false positive costs nothing.
42
- */
43
- const SPEC_ID_IN_TITLE = /\b([A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+(?:\.A\d+)?)\b/g;
44
38
  /**
45
39
  * True when `filePath` is a recognized test file (REQ-VSTATE-002.A4): it lives
46
40
  * under a `__tests__/` (or `tests/`, `spec/`) directory, or its basename carries
@@ -94,14 +88,9 @@ function scanTestTitleRefs(source) {
94
88
  if (m[2] === '`' && title.includes('${'))
95
89
  continue;
96
90
  const line = source.slice(0, m.index).split('\n').length;
97
- SPEC_ID_IN_TITLE.lastIndex = 0;
98
- let idMatch;
99
- while ((idMatch = SPEC_ID_IN_TITLE.exec(title)) !== null) {
100
- const specId = idMatch[1];
101
- if (specId === undefined)
102
- continue;
91
+ // Shorthand (`REQ-X.A1/A3`) names every criterion it lists (REQ-PIPETRUST-008).
92
+ for (const specId of (0, criterion_ids_1.criterionIdsInText)(title))
103
93
  out.push({ specId, title, line });
104
- }
105
94
  }
106
95
  return out;
107
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-title-links.js","sourceRoot":"","sources":["../../src/resolution/test-title-links.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AAqCH,oDAQC;AAQD,8CAQC;AAQD,8CAoBC;AA5ED;;;;GAIG;AACH,MAAM,SAAS,GACb,mGAAmG,CAAC;AAEtG;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,iDAAiD,CAAC;AAE3E;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,6CAA6C,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,IAIjC;IACC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;IACxB,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACxD,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACzD,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;QAC/B,IAAI,OAA+B,CAAC;QACpC,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"test-title-links.js","sourceRoot":"","sources":["../../src/resolution/test-title-links.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AA8BH,oDAQC;AAQD,8CAQC;AAQD,8CAeC;AA1ED,iEAAmE;AAWnE;;;;GAIG;AACH,MAAM,SAAS,GACb,mGAAmG,CAAC;AAEtG;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,6CAA6C,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,IAIjC;IACC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;IACxB,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACxD,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACzD,gFAAgF;QAChF,KAAK,MAAM,MAAM,IAAI,IAAA,kCAAkB,EAAC,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -944,11 +944,16 @@ export async function registerClaudeRoutes(app) {
944
944
  title: `You read ${r.file.split('/').pop()} ${r.n}× in one session — specship_explore covers it`,
945
945
  why: 'Re-reading the same file burns input tokens every turn. A single structural query returns callers, callees, and linked specs at once.',
946
946
  evidence: { session: r.session_id, detail: `Read(${r.file}) × ${r.n}` },
947
- fix: `specship_explore --symbol ${r.file.replace(/\.\w+$/, '').split('/').pop()}`,
947
+ // specship_explore takes a free-text `query` (no --symbol flag) — name
948
+ // the file's basename so the call is copy-pasteable (REQ-AUDFIX-006.A3).
949
+ fix: `specship_explore "${r.file.split('/').pop()}"`,
948
950
  saving: '≈$0.10/read avoided',
949
951
  });
950
952
  }
951
- // Rule 2: "tool returned X tokens" — any single tool call with result_length > 50000.
953
+ // Rule 2: oversized tool result — any single tool call with result_length > 50000.
954
+ // result_length is a CHARACTER count; any token figure is a labeled
955
+ // estimate (~4 chars/token) and the $ figure derives from that estimate,
956
+ // never from the raw char count (REQ-AUDFIX-006.A2).
952
957
  const heavyResults = db.prepare(`
953
958
  SELECT id, session_id, tool_name, input_summary, result_length
954
959
  FROM claude_tool_calls
@@ -957,15 +962,16 @@ export async function registerClaudeRoutes(app) {
957
962
  LIMIT 5
958
963
  `).all(realRoot, mangledRoot);
959
964
  for (const r of heavyResults) {
965
+ const estTokens = Math.round(r.result_length / 4);
960
966
  tips.push({
961
967
  id: 'heavy_result:' + r.id,
962
968
  severity: 'error',
963
969
  icon: 'flame',
964
- title: `${r.tool_name} returned ${Math.round(r.result_length / 1000)}k tokens — try a structural query`,
970
+ title: `${r.tool_name} returned ${Math.round(r.result_length / 1000)}k chars (~${Math.round(estTokens / 1000)}k tokens est.) — try a structural query`,
965
971
  why: 'Tools that dump raw content into context are the dominant cost driver. A structural query returns just what the agent needs.',
966
- evidence: { session: r.session_id, detail: `${r.tool_name}(${r.input_summary.slice(0, 100)}) → ${r.result_length} tokens` },
967
- fix: r.tool_name === 'Bash' ? 'specship_search instead of Bash(grep)' : 'specship_explore on the symbol',
968
- saving: `~$${((r.result_length / 1_000_000) * 15).toFixed(2)} on this call`,
972
+ evidence: { session: r.session_id, detail: `${r.tool_name}(${r.input_summary.slice(0, 100)}) → ${r.result_length} chars (~${estTokens} tokens est.)` },
973
+ fix: r.tool_name === 'Bash' ? 'specship_search "<symbol>" instead of Bash(grep)' : 'specship_explore "<symbol or question>"',
974
+ saving: `~$${((estTokens / 1_000_000) * 15).toFixed(2)} est. on this call`,
969
975
  });
970
976
  }
971
977
  // Rule 3: "cache miss rate" — sessions with > 10 prompts and cache_read_rate < 0.3.
@@ -991,7 +997,9 @@ export async function registerClaudeRoutes(app) {
991
997
  why: 'When the prompt prefix changes every turn, the 1h cache gets invalidated. Pinning a stable system-prompt prefix lets the cache absorb most of your input.',
992
998
  evidence: { session: r.id, detail: `cache_read=${(r.cr / 1_000_000).toFixed(2)}M / total=${(total / 1_000_000).toFixed(2)}M` },
993
999
  fix: 'Pin a stable system-prompt prefix in .claude/settings.json',
994
- saving: '~$X.XX / session (model-dependent)',
1000
+ // Not measurable per session without a model price table — state it
1001
+ // qualitatively rather than render a placeholder (REQ-AUDFIX-006.A1).
1002
+ saving: 'cached input bills at a fraction of fresh input',
995
1003
  });
996
1004
  }
997
1005
  // Rule 4: small-model flounder → escalate (MIXMODEL-DOC, REQ-MIX-002).
@@ -0,0 +1,118 @@
1
+ /**
2
+ * GET /api/knowledge (REQ-KNOW-007).
3
+ *
4
+ * Read-only knowledge view: every domain fact with its id, title, type and the
5
+ * requirement ids it links to at the spec tier (`parentId` + `depends_on`),
6
+ * plus — for `type: external` facts — the dependency it is pinned to, the
7
+ * version it was verified against, and its freshness against the version
8
+ * installed in the project (`fresh` / `stale` / `unverifiable`).
9
+ *
10
+ * Like the domain route, it reaches the engine only through the dynamically
11
+ * loaded instance (`cg.getSpecQueries()`, `cg.getProjectRoot()`) and never
12
+ * runtime-imports the bare `@specship/specship` package (DOM-SPECSHIP-004).
13
+ */
14
+ import { existsSync, readFileSync } from 'node:fs';
15
+ import path from 'node:path';
16
+ function linkedIds(parentId, dependsOn) {
17
+ const out = [];
18
+ if (typeof parentId === 'string' && parentId.length > 0)
19
+ out.push(parentId);
20
+ if (Array.isArray(dependsOn)) {
21
+ for (const d of dependsOn)
22
+ if (typeof d === 'string' && d.length > 0)
23
+ out.push(d);
24
+ }
25
+ else if (typeof dependsOn === 'string' && dependsOn.length > 0) {
26
+ for (const d of dependsOn.split(','))
27
+ if (d.trim())
28
+ out.push(d.trim());
29
+ }
30
+ return [...new Set(out)];
31
+ }
32
+ /** Read one flat `key: value` from a markdown file's frontmatter. */
33
+ function frontmatterValue(file, key) {
34
+ let source;
35
+ try {
36
+ source = readFileSync(file, 'utf-8');
37
+ }
38
+ catch {
39
+ return undefined;
40
+ }
41
+ const lines = source.split(/\r?\n/);
42
+ if ((lines[0] ?? '').trim() !== '---')
43
+ return undefined;
44
+ for (let i = 1; i < lines.length; i++) {
45
+ const line = (lines[i] ?? '').trim();
46
+ if (line === '---')
47
+ break;
48
+ const idx = line.indexOf(':');
49
+ if (idx > 0 && line.slice(0, idx).trim() === key) {
50
+ return line.slice(idx + 1).trim().replace(/^(['"])(.*)\1$/, '$2') || undefined;
51
+ }
52
+ }
53
+ return undefined;
54
+ }
55
+ /** The version of `dependency` installed under `<projectRoot>/node_modules`. */
56
+ function installedVersion(projectRoot, dependency) {
57
+ if (dependency.includes('..'))
58
+ return undefined;
59
+ const pkg = path.join(projectRoot, 'node_modules', dependency, 'package.json');
60
+ if (!existsSync(pkg))
61
+ return undefined;
62
+ try {
63
+ const v = JSON.parse(readFileSync(pkg, 'utf-8')).version;
64
+ return typeof v === 'string' ? v : undefined;
65
+ }
66
+ catch {
67
+ return undefined;
68
+ }
69
+ }
70
+ export async function registerKnowledgeRoutes(app) {
71
+ app.get('/api/knowledge', async (req, reply) => {
72
+ const cg = await app.activeCg(req);
73
+ if (!cg) {
74
+ reply.code(409).send({ error: 'no project selected', code: 'no_project' });
75
+ return;
76
+ }
77
+ const projectRoot = cg.getProjectRoot();
78
+ const facts = [];
79
+ for (const f of cg.getSpecQueries().getSpecsByKind('domain')) {
80
+ const meta = (f.metadata ?? {});
81
+ const type = typeof meta.type === 'string' ? meta.type : '';
82
+ const fact = {
83
+ id: f.id,
84
+ title: f.title,
85
+ type,
86
+ linkedRequirementIds: linkedIds(f.parentId, meta.depends_on),
87
+ };
88
+ if (type === 'external') {
89
+ const dependency = typeof meta.dependency === 'string' ? meta.dependency : undefined;
90
+ // `version` is a known top-level frontmatter key the extractor keeps as
91
+ // the numeric spec version, so a semver string may not survive into
92
+ // metadata — fall back to the fact's own frontmatter on disk.
93
+ const version = typeof meta.version === 'string'
94
+ ? meta.version
95
+ : frontmatterValue(path.join(projectRoot, f.sourcePath), 'version');
96
+ // Freshness from the project's own node_modules only. The CLI's
97
+ // `specship knowledge stale` (findStaleExternalFacts) also consults the
98
+ // global npm root; the server stays local-only and never imports the
99
+ // engine package directly (DOM-SPECSHIP-004), so a dependency installed
100
+ // only globally reads `unverifiable` here — never `fresh`.
101
+ const installed = dependency ? installedVersion(projectRoot, dependency) : undefined;
102
+ fact.dependency = dependency;
103
+ fact.version = version;
104
+ fact.stale =
105
+ installed === undefined || version === undefined
106
+ ? 'unverifiable'
107
+ : installed === version
108
+ ? 'fresh'
109
+ : 'stale';
110
+ if (installed !== undefined)
111
+ fact.installedVersion = installed;
112
+ }
113
+ facts.push(fact);
114
+ }
115
+ facts.sort((a, b) => a.id.localeCompare(b.id));
116
+ return { facts };
117
+ });
118
+ }