@specship/specship-win32-arm64 0.11.8 → 0.12.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 (235) hide show
  1. package/lib/dist/bin/specship.js +141 -66
  2. package/lib/dist/bin/specship.js.map +1 -1
  3. package/lib/dist/commands/specship/check.md +5 -0
  4. package/lib/dist/commands/specship/spec.md +235 -15
  5. package/lib/dist/db/migrations.d.ts.map +1 -1
  6. package/lib/dist/db/migrations.js +1 -0
  7. package/lib/dist/db/migrations.js.map +1 -1
  8. package/lib/dist/enforce/enforce.d.ts +15 -0
  9. package/lib/dist/enforce/enforce.d.ts.map +1 -1
  10. package/lib/dist/enforce/enforce.js +43 -1
  11. package/lib/dist/enforce/enforce.js.map +1 -1
  12. package/lib/dist/extraction/index.d.ts +6 -0
  13. package/lib/dist/extraction/index.d.ts.map +1 -1
  14. package/lib/dist/extraction/index.js.map +1 -1
  15. package/lib/dist/index.d.ts +9 -1
  16. package/lib/dist/index.d.ts.map +1 -1
  17. package/lib/dist/index.js +53 -9
  18. package/lib/dist/index.js.map +1 -1
  19. package/lib/dist/installer/index.d.ts.map +1 -1
  20. package/lib/dist/installer/index.js +35 -0
  21. package/lib/dist/installer/index.js.map +1 -1
  22. package/lib/dist/installer/instructions-template.d.ts +2 -2
  23. package/lib/dist/installer/instructions-template.js +3 -3
  24. package/lib/dist/installer/targets/claude.d.ts +10 -0
  25. package/lib/dist/installer/targets/claude.d.ts.map +1 -1
  26. package/lib/dist/installer/targets/claude.js +33 -7
  27. package/lib/dist/installer/targets/claude.js.map +1 -1
  28. package/lib/dist/mcp/designer-tools.js +1 -1
  29. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  30. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  31. package/lib/dist/mcp/server-instructions.js +1 -1
  32. package/lib/dist/mcp/spec-tools.d.ts +10 -0
  33. package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
  34. package/lib/dist/mcp/spec-tools.js +228 -2
  35. package/lib/dist/mcp/spec-tools.js.map +1 -1
  36. package/lib/dist/mcp/tools.d.ts +12 -0
  37. package/lib/dist/mcp/tools.d.ts.map +1 -1
  38. package/lib/dist/mcp/tools.js +34 -1
  39. package/lib/dist/mcp/tools.js.map +1 -1
  40. package/lib/dist/reflect/index.d.ts +1 -1
  41. package/lib/dist/reflect/index.d.ts.map +1 -1
  42. package/lib/dist/reflect/index.js +2 -1
  43. package/lib/dist/reflect/index.js.map +1 -1
  44. package/lib/dist/reflect/miner.d.ts +8 -0
  45. package/lib/dist/reflect/miner.d.ts.map +1 -1
  46. package/lib/dist/reflect/miner.js +64 -36
  47. package/lib/dist/reflect/miner.js.map +1 -1
  48. package/lib/dist/resolution/brief-link-resolver.d.ts +20 -0
  49. package/lib/dist/resolution/brief-link-resolver.d.ts.map +1 -1
  50. package/lib/dist/resolution/brief-link-resolver.js +65 -1
  51. package/lib/dist/resolution/brief-link-resolver.js.map +1 -1
  52. package/lib/dist/resolution/spec-link-resolver.d.ts +16 -2
  53. package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
  54. package/lib/dist/resolution/spec-link-resolver.js +19 -1
  55. package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
  56. package/lib/dist/server/cli.js +5 -49
  57. package/lib/dist/server/ingest/ingestor.js +17 -17
  58. package/lib/dist/server/ingest/pricing-backfill.js +55 -0
  59. package/lib/dist/server/ingest/pricing.js +3 -0
  60. package/lib/dist/server/ingest/project-paths.js +152 -0
  61. package/lib/dist/server/project-registry.js +15 -2
  62. package/lib/dist/server/routes/claude.js +47 -18
  63. package/lib/dist/server/routes/events.js +20 -1
  64. package/lib/dist/server/routes/projects.js +6 -3
  65. package/lib/dist/server/routes/spec.js +22 -2
  66. package/lib/dist/server/server.js +38 -4
  67. package/lib/dist/server/ssr/md.mjs +83 -0
  68. package/lib/dist/server/ssr/public/app.css +1 -0
  69. package/lib/dist/server/ssr/render.mjs +564 -0
  70. package/lib/dist/server/ssr/routes.js +73 -0
  71. package/lib/dist/server/static-handler.js +30 -0
  72. package/lib/dist/workflows/defaults/claude-design-implement.yaml +3 -3
  73. package/lib/dist/workflows/defaults/spec-implement.yaml +41 -9
  74. package/lib/node_modules/.package-lock.json +1 -1
  75. package/lib/package.json +3 -3
  76. package/package.json +1 -1
  77. package/lib/dist/commands/specship/design-implement.md +0 -84
  78. package/lib/dist/commands/specship/design-loop.md +0 -125
  79. package/lib/dist/commands/ss-behaviour.md +0 -116
  80. package/lib/dist/web/chunk-2AJCHB7P.js +0 -1
  81. package/lib/dist/web/chunk-2CPLUFCH.js +0 -2
  82. package/lib/dist/web/chunk-2I7L37NS.js +0 -1
  83. package/lib/dist/web/chunk-2IVSOVQZ.js +0 -1
  84. package/lib/dist/web/chunk-2NAWAJB5.js +0 -1
  85. package/lib/dist/web/chunk-2OJBIPE4.js +0 -1
  86. package/lib/dist/web/chunk-3E2WB6D5.js +0 -1
  87. package/lib/dist/web/chunk-3EBFYSCH.js +0 -2
  88. package/lib/dist/web/chunk-3QCQ4BXS.js +0 -1
  89. package/lib/dist/web/chunk-42XVAQ6I.js +0 -1
  90. package/lib/dist/web/chunk-4G7XU55L.js +0 -1
  91. package/lib/dist/web/chunk-4IMMPEYM.js +0 -1
  92. package/lib/dist/web/chunk-4TJQJPCZ.js +0 -1
  93. package/lib/dist/web/chunk-4WZIHTPC.js +0 -1
  94. package/lib/dist/web/chunk-4YVSYOSD.js +0 -1
  95. package/lib/dist/web/chunk-5BQIOYKW.js +0 -1
  96. package/lib/dist/web/chunk-5HGWHUJA.js +0 -1
  97. package/lib/dist/web/chunk-5NTGUSXJ.js +0 -1
  98. package/lib/dist/web/chunk-5Y244R4G.js +0 -1
  99. package/lib/dist/web/chunk-6RRDPT5Z.js +0 -1
  100. package/lib/dist/web/chunk-6VKB2ZWM.js +0 -1
  101. package/lib/dist/web/chunk-7656MA24.js +0 -1
  102. package/lib/dist/web/chunk-7DMFVTU4.js +0 -1
  103. package/lib/dist/web/chunk-7KWBINA7.js +0 -1
  104. package/lib/dist/web/chunk-7MUNFW56.js +0 -1
  105. package/lib/dist/web/chunk-7SMPKVEP.js +0 -1
  106. package/lib/dist/web/chunk-AZJVTPLU.js +0 -1
  107. package/lib/dist/web/chunk-AZUUBUEJ.js +0 -1
  108. package/lib/dist/web/chunk-BLBRMCN2.js +0 -1
  109. package/lib/dist/web/chunk-BMIAXD2V.js +0 -2
  110. package/lib/dist/web/chunk-BPCJLNBS.js +0 -47
  111. package/lib/dist/web/chunk-BUXWEHIY.js +0 -1
  112. package/lib/dist/web/chunk-CYXQILZI.js +0 -1
  113. package/lib/dist/web/chunk-DLQPZWSI.css +0 -1
  114. package/lib/dist/web/chunk-DOKZOFKM.js +0 -1
  115. package/lib/dist/web/chunk-DTWIJ3GJ.js +0 -1
  116. package/lib/dist/web/chunk-DYRFLPJA.js +0 -1
  117. package/lib/dist/web/chunk-E27QAKAB.js +0 -1
  118. package/lib/dist/web/chunk-E3J3CXR5.js +0 -1
  119. package/lib/dist/web/chunk-E73OX2P7.js +0 -1
  120. package/lib/dist/web/chunk-EAXRKDLV.js +0 -1
  121. package/lib/dist/web/chunk-EBKKDHYI.js +0 -1
  122. package/lib/dist/web/chunk-EE7V7Q5P.js +0 -1
  123. package/lib/dist/web/chunk-EKY2FUHU.js +0 -1
  124. package/lib/dist/web/chunk-EP6XOPXH.js +0 -1
  125. package/lib/dist/web/chunk-ESGDLJOJ.js +0 -1
  126. package/lib/dist/web/chunk-ETJG7NCY.js +0 -1
  127. package/lib/dist/web/chunk-EUUEFEDI.js +0 -1
  128. package/lib/dist/web/chunk-EXBUKHH2.js +0 -17
  129. package/lib/dist/web/chunk-F5TBUYDH.js +0 -1
  130. package/lib/dist/web/chunk-FC3R7YHR.js +0 -4
  131. package/lib/dist/web/chunk-FGNZDHTL.js +0 -11
  132. package/lib/dist/web/chunk-FIJW2UNJ.js +0 -1
  133. package/lib/dist/web/chunk-FMV5PXRC.js +0 -5
  134. package/lib/dist/web/chunk-G7RXFHYO.js +0 -1
  135. package/lib/dist/web/chunk-G7VZT5KB.js +0 -3
  136. package/lib/dist/web/chunk-GRZYXPSO.js +0 -7
  137. package/lib/dist/web/chunk-GYGPS3AN.js +0 -1
  138. package/lib/dist/web/chunk-H723TYYD.js +0 -2
  139. package/lib/dist/web/chunk-H7AF7YS4.js +0 -1
  140. package/lib/dist/web/chunk-HDZDQILN.js +0 -1
  141. package/lib/dist/web/chunk-HMK6UO6N.js +0 -1
  142. package/lib/dist/web/chunk-HSJNHNOH.js +0 -6
  143. package/lib/dist/web/chunk-IHEE5NYJ.js +0 -1
  144. package/lib/dist/web/chunk-IOB4JJT4.js +0 -1
  145. package/lib/dist/web/chunk-ISNEBICW.js +0 -1
  146. package/lib/dist/web/chunk-J2GZVLHH.js +0 -1
  147. package/lib/dist/web/chunk-JGDK6YKG.js +0 -1
  148. package/lib/dist/web/chunk-JLOJCDIY.js +0 -1
  149. package/lib/dist/web/chunk-JPSYO24K.js +0 -1
  150. package/lib/dist/web/chunk-JTFXTIPE.js +0 -903
  151. package/lib/dist/web/chunk-K7UD24Z4.js +0 -1
  152. package/lib/dist/web/chunk-KYSTCHAH.js +0 -1
  153. package/lib/dist/web/chunk-LB6JPLX2.js +0 -1
  154. package/lib/dist/web/chunk-LNSVDHCI.js +0 -1
  155. package/lib/dist/web/chunk-LVGIY3SO.js +0 -1
  156. package/lib/dist/web/chunk-LXLHIHEN.js +0 -1
  157. package/lib/dist/web/chunk-MNFTHCSJ.js +0 -1
  158. package/lib/dist/web/chunk-N6SS4G6S.js +0 -1
  159. package/lib/dist/web/chunk-NKPK3BR3.js +0 -1
  160. package/lib/dist/web/chunk-NTBJG6SJ.js +0 -1
  161. package/lib/dist/web/chunk-NUDB3Q2Y.js +0 -3
  162. package/lib/dist/web/chunk-OTQR5VFM.js +0 -1
  163. package/lib/dist/web/chunk-OXEF5E3E.js +0 -1
  164. package/lib/dist/web/chunk-P62EJGSF.js +0 -1
  165. package/lib/dist/web/chunk-PCW6R7OP.js +0 -1
  166. package/lib/dist/web/chunk-PGGJPDJG.js +0 -1
  167. package/lib/dist/web/chunk-POCVU4VK.js +0 -2
  168. package/lib/dist/web/chunk-PS6HRYQQ.js +0 -3
  169. package/lib/dist/web/chunk-PUYSJNJR.js +0 -1
  170. package/lib/dist/web/chunk-PZSU53SS.js +0 -1
  171. package/lib/dist/web/chunk-Q2RVFS45.js +0 -1
  172. package/lib/dist/web/chunk-Q7L6LLAK.js +0 -1
  173. package/lib/dist/web/chunk-QCMKJIWY.js +0 -1
  174. package/lib/dist/web/chunk-QH6CF3M3.js +0 -1
  175. package/lib/dist/web/chunk-QIZ65CGB.js +0 -1
  176. package/lib/dist/web/chunk-QPA2REUE.js +0 -1
  177. package/lib/dist/web/chunk-QQ5LD7PI.js +0 -1
  178. package/lib/dist/web/chunk-QR6L3KAC.js +0 -1
  179. package/lib/dist/web/chunk-R2DLK4HO.js +0 -1
  180. package/lib/dist/web/chunk-RD6TVPOT.js +0 -1
  181. package/lib/dist/web/chunk-RKY4EJYJ.js +0 -1
  182. package/lib/dist/web/chunk-RONYWVY7.js +0 -1
  183. package/lib/dist/web/chunk-RXKXYF2C.js +0 -1
  184. package/lib/dist/web/chunk-SQPYSOV6.js +0 -1
  185. package/lib/dist/web/chunk-SWKJRNYY.js +0 -1
  186. package/lib/dist/web/chunk-SYGIPC2P.js +0 -4
  187. package/lib/dist/web/chunk-T7AZ65JP.js +0 -1
  188. package/lib/dist/web/chunk-TCZDVOHD.js +0 -1
  189. package/lib/dist/web/chunk-TPTITA3V.js +0 -1
  190. package/lib/dist/web/chunk-TR335633.js +0 -1
  191. package/lib/dist/web/chunk-TWVVIWKO.js +0 -1
  192. package/lib/dist/web/chunk-U67LRNER.js +0 -1
  193. package/lib/dist/web/chunk-UR5KDXPX.js +0 -1
  194. package/lib/dist/web/chunk-UR6O2GEH.js +0 -1
  195. package/lib/dist/web/chunk-USVLLFVR.js +0 -1
  196. package/lib/dist/web/chunk-UTNMGWTP.js +0 -1
  197. package/lib/dist/web/chunk-V74ZPP4B.js +0 -1
  198. package/lib/dist/web/chunk-VECWMHJP.js +0 -1
  199. package/lib/dist/web/chunk-VUACT35R.js +0 -3
  200. package/lib/dist/web/chunk-VZI7H4SZ.js +0 -1
  201. package/lib/dist/web/chunk-WB6YHOD4.js +0 -1
  202. package/lib/dist/web/chunk-WBJ5VEB5.js +0 -1
  203. package/lib/dist/web/chunk-WBT64AWV.js +0 -1
  204. package/lib/dist/web/chunk-WFXJIXZE.js +0 -4
  205. package/lib/dist/web/chunk-WTGYRH3Z.js +0 -298
  206. package/lib/dist/web/chunk-WXTCVDTP.js +0 -1
  207. package/lib/dist/web/chunk-XAUQEKZX.js +0 -1
  208. package/lib/dist/web/chunk-XCDHWLVH.js +0 -1
  209. package/lib/dist/web/chunk-Y3H6FFUZ.js +0 -1
  210. package/lib/dist/web/chunk-Y4F5ULGJ.js +0 -1
  211. package/lib/dist/web/chunk-YEGKAAEE.js +0 -1
  212. package/lib/dist/web/chunk-YM2KU57F.js +0 -1
  213. package/lib/dist/web/chunk-YNYVOPWF.js +0 -1
  214. package/lib/dist/web/chunk-YRERBP6T.js +0 -1
  215. package/lib/dist/web/chunk-YV5LB22R.js +0 -1
  216. package/lib/dist/web/chunk-YWIRU745.js +0 -1
  217. package/lib/dist/web/chunk-YXYPTZ6E.js +0 -1
  218. package/lib/dist/web/chunk-ZLV4VCDG.js +0 -3
  219. package/lib/dist/web/chunk-ZTVI5KFF.js +0 -1
  220. package/lib/dist/web/favicon-16.png +0 -0
  221. package/lib/dist/web/favicon-180.png +0 -0
  222. package/lib/dist/web/favicon-32.png +0 -0
  223. package/lib/dist/web/favicon-512.png +0 -0
  224. package/lib/dist/web/favicon-small.svg +0 -15
  225. package/lib/dist/web/favicon.ico +0 -0
  226. package/lib/dist/web/favicon.svg +0 -20
  227. package/lib/dist/web/icon-192.png +0 -0
  228. package/lib/dist/web/icon-512.png +0 -0
  229. package/lib/dist/web/index.html +0 -146
  230. package/lib/dist/web/main-ESADRXN2.css +0 -1
  231. package/lib/dist/web/main-FY3HQ4PX.js +0 -1
  232. package/lib/dist/web/manifest.webmanifest +0 -15
  233. package/lib/dist/web/media/codicon-LN6W7LCM.ttf +0 -0
  234. package/lib/dist/web/styles-KSOPUVDA.css +0 -1
  235. package/lib/dist/web/sw.js +0 -69
@@ -16,6 +16,7 @@
16
16
  * caller can render the empty state rather than erroring (REQ-REFLECT-001.A2).
17
17
  */
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.projectPathForms = projectPathForms;
19
20
  exports.mineProposals = mineProposals;
20
21
  const targets_1 = require("./targets");
21
22
  /** Tuning knobs — thresholds above which a pattern is worth proposing. */
@@ -37,6 +38,25 @@ const THRESHOLDS = {
37
38
  };
38
39
  /** Per-rule cap so a noisy corpus can't flood the Improvements list. */
39
40
  const PER_RULE_LIMIT = 5;
41
+ /**
42
+ * The two forms a project's path can take in `claude_sessions.project_path`
43
+ * (REQ-REFLECT-008): the real absolute path, and the mangled form the ingest
44
+ * stores — Claude Code slug-encodes every non-alphanumeric character to '-',
45
+ * and the ingest decodes every '-' back to '/', so round-tripping the real
46
+ * path reproduces the stored value (`/a/b-c` → `/a/b/c`).
47
+ */
48
+ function projectPathForms(projectRoot) {
49
+ const real = projectRoot.replace(/\/+$/, '') || projectRoot;
50
+ const mangled = real.replace(/[^A-Za-z0-9]/g, '/');
51
+ return [real, mangled];
52
+ }
53
+ /**
54
+ * SQL predicate restricting a claude_* row to the target project's own
55
+ * sessions (REQ-REFLECT-008) — the analytics tables span every project, and a
56
+ * pattern from another project's transcripts must never become a proposal
57
+ * here. Binds the two `projectPathForms` values, in order.
58
+ */
59
+ const IN_PROJECT = `session_id IN (SELECT id FROM claude_sessions WHERE project_path IN (?, ?))`;
40
60
  function tableExists(db, name) {
41
61
  try {
42
62
  const row = db
@@ -53,19 +73,20 @@ function mineProposals(db, ctx) {
53
73
  if (!tableExists(db, 'claude_tool_calls') || !tableExists(db, 'claude_prompts')) {
54
74
  return [];
55
75
  }
76
+ const forms = projectPathForms(ctx.projectRoot);
56
77
  const out = [];
57
- out.push(...ruleRepeatedReads(db, ctx));
58
- out.push(...ruleGrepHabit(db, ctx));
59
- out.push(...ruleRepeatedPrompts(db, ctx));
60
- out.push(...ruleRepeatedCommands(db, ctx));
78
+ out.push(...ruleRepeatedReads(db, ctx, forms));
79
+ out.push(...ruleGrepHabit(db, ctx, forms));
80
+ out.push(...ruleRepeatedPrompts(db, ctx, forms));
81
+ out.push(...ruleRepeatedCommands(db, ctx, forms));
61
82
  // Round 2 detectors.
62
- out.push(...ruleDestructiveCommands(db, ctx));
63
- out.push(...ruleEditHotspot(db, ctx));
64
- out.push(...ruleRecurringCorrection(db, ctx));
83
+ out.push(...ruleDestructiveCommands(db, ctx, forms));
84
+ out.push(...ruleEditHotspot(db, ctx, forms));
85
+ out.push(...ruleRecurringCorrection(db, ctx, forms));
65
86
  // Round 3 detectors.
66
- out.push(...ruleSpecshipCold(db, ctx));
67
- out.push(...ruleHeavyOutput(db, ctx));
68
- out.push(...ruleReferenceDoc(db, ctx));
87
+ out.push(...ruleSpecshipCold(db, ctx, forms));
88
+ out.push(...ruleHeavyOutput(db, ctx, forms));
89
+ out.push(...ruleReferenceDoc(db, ctx, forms));
69
90
  return out;
70
91
  }
71
92
  /**
@@ -73,16 +94,16 @@ function mineProposals(db, ctx) {
73
94
  * in a single session. A project-specific rule steering it to specship_explore
74
95
  * for that area is the durable fix.
75
96
  */
76
- function ruleRepeatedReads(db, ctx) {
97
+ function ruleRepeatedReads(db, ctx, forms) {
77
98
  const rows = db
78
99
  .prepare(`SELECT session_id, input_summary AS file, COUNT(*) AS n
79
100
  FROM claude_tool_calls
80
- WHERE tool_name = 'Read' AND input_summary != ''
101
+ WHERE tool_name = 'Read' AND input_summary != '' AND ${IN_PROJECT}
81
102
  GROUP BY session_id, input_summary
82
103
  HAVING n >= ?
83
104
  ORDER BY n DESC
84
105
  LIMIT ?`)
85
- .all(THRESHOLDS.repeatedReadsPerSession, PER_RULE_LIMIT);
106
+ .all(...forms, THRESHOLDS.repeatedReadsPerSession, PER_RULE_LIMIT);
86
107
  return rows.map((r) => {
87
108
  const base = r.file.split('/').pop() || r.file;
88
109
  return (0, targets_1.buildProposal)(ctx, {
@@ -105,22 +126,24 @@ function ruleRepeatedReads(db, ctx) {
105
126
  * R2 → memory_rule (portable ~/.claude/memory): heavy grep/find usage is a
106
127
  * cross-project habit, so the learning is portable, not repo-specific.
107
128
  */
108
- function ruleGrepHabit(db, ctx) {
129
+ function ruleGrepHabit(db, ctx, forms) {
109
130
  const row = db
110
131
  .prepare(`SELECT COUNT(*) AS n, COUNT(DISTINCT session_id) AS s
111
132
  FROM claude_tool_calls
112
133
  WHERE tool_name = 'Bash'
113
134
  AND (input_summary LIKE 'grep%' OR input_summary LIKE '%grep %'
114
- OR input_summary LIKE 'find %' OR input_summary LIKE 'rg %')`)
115
- .get();
135
+ OR input_summary LIKE 'find %' OR input_summary LIKE 'rg %')
136
+ AND ${IN_PROJECT}`)
137
+ .get(...forms);
116
138
  if (!row || row.n < THRESHOLDS.grepHabitTotal)
117
139
  return [];
118
140
  const sessRows = db
119
141
  .prepare(`SELECT DISTINCT session_id FROM claude_tool_calls
120
142
  WHERE tool_name = 'Bash' AND (input_summary LIKE '%grep %' OR input_summary LIKE 'grep%'
121
143
  OR input_summary LIKE 'find %' OR input_summary LIKE 'rg %')
144
+ AND ${IN_PROJECT}
122
145
  LIMIT 8`)
123
- .all();
146
+ .all(...forms);
124
147
  return [
125
148
  (0, targets_1.buildProposal)(ctx, {
126
149
  type: 'memory_rule',
@@ -146,15 +169,16 @@ function normalizePrompt(t) {
146
169
  * R3 → skill (commands/ss-<name>.md): the user typed essentially the same ask
147
170
  * many times. A reusable slash command captures the routine.
148
171
  */
149
- function ruleRepeatedPrompts(db, ctx) {
172
+ function ruleRepeatedPrompts(db, ctx, forms) {
150
173
  const rows = db
151
174
  .prepare(`SELECT id, text FROM claude_prompts
152
175
  WHERE text IS NOT NULL AND length(text) BETWEEN 12 AND 200
153
176
  AND text NOT LIKE '<%' AND text NOT LIKE '%<command-name>%'
154
177
  AND is_sidechain = 0
178
+ AND ${IN_PROJECT}
155
179
  ORDER BY ts DESC
156
180
  LIMIT 4000`)
157
- .all();
181
+ .all(...forms);
158
182
  const groups = new Map();
159
183
  for (const r of rows) {
160
184
  const key = normalizePrompt(r.text);
@@ -188,7 +212,7 @@ function ruleRepeatedPrompts(db, ctx) {
188
212
  * R4 → hook (.claude/settings.json): the agent ran the same shell command after
189
213
  * edits across multiple sessions. A PostToolUse hook automates the manual step.
190
214
  */
191
- function ruleRepeatedCommands(db, ctx) {
215
+ function ruleRepeatedCommands(db, ctx, forms) {
192
216
  const rows = db
193
217
  .prepare(`SELECT input_summary AS cmd, COUNT(*) AS n, COUNT(DISTINCT session_id) AS s,
194
218
  GROUP_CONCAT(DISTINCT session_id) AS sessions
@@ -197,11 +221,12 @@ function ruleRepeatedCommands(db, ctx) {
197
221
  AND input_summary NOT LIKE 'grep%' AND input_summary NOT LIKE '%grep %'
198
222
  AND input_summary NOT LIKE 'find %' AND input_summary NOT LIKE 'cd %'
199
223
  AND input_summary NOT LIKE 'ls%' AND input_summary NOT LIKE 'cat %'
224
+ AND ${IN_PROJECT}
200
225
  GROUP BY input_summary
201
226
  HAVING s >= ? AND n >= ?
202
227
  ORDER BY n DESC
203
228
  LIMIT ?`)
204
- .all(THRESHOLDS.repeatedCmdSessions, THRESHOLDS.repeatedCmdTotal, PER_RULE_LIMIT);
229
+ .all(...forms, THRESHOLDS.repeatedCmdSessions, THRESHOLDS.repeatedCmdTotal, PER_RULE_LIMIT);
205
230
  return rows.map((r) => (0, targets_1.buildProposal)(ctx, {
206
231
  type: 'hook',
207
232
  severity: 'info',
@@ -231,10 +256,10 @@ const DESTRUCTIVE = [
231
256
  * deliberately propose a *rule* rather than auto-generating a fragile guard
232
257
  * script (a guard-hook variant is a future detector).
233
258
  */
234
- function ruleDestructiveCommands(db, ctx) {
259
+ function ruleDestructiveCommands(db, ctx, forms) {
235
260
  const rows = db
236
- .prepare(`SELECT session_id, input_summary AS cmd FROM claude_tool_calls WHERE tool_name = 'Bash' AND input_summary != ''`)
237
- .all();
261
+ .prepare(`SELECT session_id, input_summary AS cmd FROM claude_tool_calls WHERE tool_name = 'Bash' AND input_summary != '' AND ${IN_PROJECT}`)
262
+ .all(...forms);
238
263
  const buckets = new Map();
239
264
  for (const r of rows) {
240
265
  for (const d of DESTRUCTIVE) {
@@ -273,17 +298,17 @@ function ruleDestructiveCommands(db, ctx) {
273
298
  * sessions — a hotspot whose contract is worth documenting so future edits
274
299
  * don't relearn it from scratch.
275
300
  */
276
- function ruleEditHotspot(db, ctx) {
301
+ function ruleEditHotspot(db, ctx, forms) {
277
302
  const rows = db
278
303
  .prepare(`SELECT input_summary AS file, COUNT(*) AS n, COUNT(DISTINCT session_id) AS s,
279
304
  GROUP_CONCAT(DISTINCT session_id) AS sessions
280
305
  FROM claude_tool_calls
281
- WHERE tool_name IN ('Edit', 'Write', 'MultiEdit') AND input_summary != ''
306
+ WHERE tool_name IN ('Edit', 'Write', 'MultiEdit') AND input_summary != '' AND ${IN_PROJECT}
282
307
  GROUP BY input_summary
283
308
  HAVING n >= ? AND s >= ?
284
309
  ORDER BY n DESC
285
310
  LIMIT ?`)
286
- .all(THRESHOLDS.editHotspotTotal, THRESHOLDS.editHotspotSessions, PER_RULE_LIMIT);
311
+ .all(...forms, THRESHOLDS.editHotspotTotal, THRESHOLDS.editHotspotSessions, PER_RULE_LIMIT);
287
312
  return rows.map((r) => {
288
313
  const base = r.file.split('/').pop() || r.file;
289
314
  return (0, targets_1.buildProposal)(ctx, {
@@ -309,15 +334,16 @@ const CORRECTION_CUE = /^(no\b|don'?t\b|do not\b|never\b|always\b|stop\b|instead
309
334
  * corrective instruction. That's a durable preference worth recording so it
310
335
  * doesn't have to be repeated — the core Hermes "learn from corrections" idea.
311
336
  */
312
- function ruleRecurringCorrection(db, ctx) {
337
+ function ruleRecurringCorrection(db, ctx, forms) {
313
338
  const rows = db
314
339
  .prepare(`SELECT id, text FROM claude_prompts
315
340
  WHERE text IS NOT NULL AND length(text) BETWEEN 12 AND 200
316
341
  AND text NOT LIKE '<%' AND text NOT LIKE '%<command-name>%'
317
342
  AND is_sidechain = 0
343
+ AND ${IN_PROJECT}
318
344
  ORDER BY ts DESC
319
345
  LIMIT 4000`)
320
- .all();
346
+ .all(...forms);
321
347
  const groups = new Map();
322
348
  for (const r of rows) {
323
349
  const trimmed = r.text.trim();
@@ -355,7 +381,7 @@ function ruleRecurringCorrection(db, ctx) {
355
381
  * portable habit-note to query it first is the durable fix. Uses the
356
382
  * `is_specship` classification on tool calls.
357
383
  */
358
- function ruleSpecshipCold(db, ctx) {
384
+ function ruleSpecshipCold(db, ctx, forms) {
359
385
  const rows = db
360
386
  .prepare(`SELECT session_id,
361
387
  SUM(CASE WHEN tool_name IN ('Read','Grep')
@@ -364,9 +390,10 @@ function ruleSpecshipCold(db, ctx) {
364
390
  THEN 1 ELSE 0 END) AS reads,
365
391
  SUM(is_specship) AS ss
366
392
  FROM claude_tool_calls
393
+ WHERE ${IN_PROJECT}
367
394
  GROUP BY session_id
368
395
  HAVING reads >= ? AND ss = 0`)
369
- .all(THRESHOLDS.specshipColdReadMin);
396
+ .all(...forms, THRESHOLDS.specshipColdReadMin);
370
397
  if (rows.length < THRESHOLDS.specshipColdSessions)
371
398
  return [];
372
399
  const totalReads = rows.reduce((a, r) => a + r.reads, 0);
@@ -392,17 +419,17 @@ function ruleSpecshipCold(db, ctx) {
392
419
  * into context, repeatedly. Scoping its output (or using a structural query) is
393
420
  * the durable fix. Uses `result_length`.
394
421
  */
395
- function ruleHeavyOutput(db, ctx) {
422
+ function ruleHeavyOutput(db, ctx, forms) {
396
423
  const rows = db
397
424
  .prepare(`SELECT input_summary AS cmd, COUNT(*) AS n, MAX(result_length) AS maxlen,
398
425
  GROUP_CONCAT(DISTINCT session_id) AS sessions
399
426
  FROM claude_tool_calls
400
- WHERE tool_name = 'Bash' AND input_summary != '' AND result_length > ?
427
+ WHERE tool_name = 'Bash' AND input_summary != '' AND result_length > ? AND ${IN_PROJECT}
401
428
  GROUP BY input_summary
402
429
  HAVING n >= ?
403
430
  ORDER BY maxlen DESC
404
431
  LIMIT ?`)
405
- .all(THRESHOLDS.heavyOutputBytes, THRESHOLDS.heavyOutputMin, PER_RULE_LIMIT);
432
+ .all(THRESHOLDS.heavyOutputBytes, ...forms, THRESHOLDS.heavyOutputMin, PER_RULE_LIMIT);
406
433
  return rows.map((r) => (0, targets_1.buildProposal)(ctx, {
407
434
  type: 'memory_rule',
408
435
  scope: 'project',
@@ -424,7 +451,7 @@ function ruleHeavyOutput(db, ctx) {
424
451
  * from CLAUDE.md keeps it in context. Distinct from R1 (in-session re-reads of
425
452
  * any file) — this keys on cross-session breadth of a *doc* file.
426
453
  */
427
- function ruleReferenceDoc(db, ctx) {
454
+ function ruleReferenceDoc(db, ctx, forms) {
428
455
  const rows = db
429
456
  .prepare(`SELECT input_summary AS file, COUNT(DISTINCT session_id) AS s,
430
457
  GROUP_CONCAT(DISTINCT session_id) AS sessions
@@ -433,11 +460,12 @@ function ruleReferenceDoc(db, ctx) {
433
460
  AND (input_summary LIKE '%.md' OR input_summary LIKE '%.mdx'
434
461
  OR input_summary LIKE '%.txt' OR input_summary LIKE '%.rst'
435
462
  OR input_summary LIKE '%.adoc')
463
+ AND ${IN_PROJECT}
436
464
  GROUP BY input_summary
437
465
  HAVING s >= ?
438
466
  ORDER BY s DESC
439
467
  LIMIT ?`)
440
- .all(THRESHOLDS.refDocSessions, PER_RULE_LIMIT);
468
+ .all(...forms, THRESHOLDS.refDocSessions, PER_RULE_LIMIT);
441
469
  return rows.map((r) => {
442
470
  const base = r.file.split('/').pop() || r.file;
443
471
  return (0, targets_1.buildProposal)(ctx, {
@@ -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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"}
@@ -40,6 +40,24 @@ export declare function cleanSpecPointer(raw: unknown): string | null;
40
40
  export declare function resolveToDocumentId(sq: SpecLookup, id: string): string | null;
41
41
  /** Reconcile a brief's link to its spec from both pointer directions. */
42
42
  export declare function resolveBriefLink(sq: SpecLookup, brief: Spec): BriefLink;
43
+ /**
44
+ * Read a brief's idea-capture fields from the frontmatter REQ-IDEAS-001 writes.
45
+ *
46
+ * - `capturedAt` — `metadata.created` (the capture moment) parsed to epoch ms.
47
+ * `spec.createdAt` is index-time, not capture-time, so age MUST come from
48
+ * here. Accepts an epoch-ms number or an ISO/date string; `null` when the
49
+ * key is absent or unparseable.
50
+ * - `labels` — the plural `metadata.labels` (a comma-delimited string OR a
51
+ * `string[]`) PLUS the singular `metadata.label` the capture verb writes
52
+ * (treated as a one-element list). `[]` when neither is present.
53
+ *
54
+ * Defensive throughout: older briefs (captured before REQ-IDEAS-001) carry
55
+ * neither field, and both surfaces must still render cleanly.
56
+ */
57
+ export declare function ideaCaptureFields(brief: Spec): {
58
+ capturedAt: number | null;
59
+ labels: string[];
60
+ };
43
61
  export interface SpecFunnelSummary {
44
62
  ideas: number;
45
63
  specified: number;
@@ -65,6 +83,8 @@ export interface SpecFunnel {
65
83
  ideas: Array<{
66
84
  briefId: string;
67
85
  title: string;
86
+ capturedAt: number | null;
87
+ labels: string[];
68
88
  }>;
69
89
  conflicts: Array<{
70
90
  briefId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"brief-link-resolver.d.ts","sourceRoot":"","sources":["../../src/resolution/brief-link-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brief-link-resolver.d.ts","sourceRoot":"","sources":["../../src/resolution/brief-link-resolver.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
55
55
  exports.cleanSpecPointer = cleanSpecPointer;
56
56
  exports.resolveToDocumentId = resolveToDocumentId;
57
57
  exports.resolveBriefLink = resolveBriefLink;
58
+ exports.ideaCaptureFields = ideaCaptureFields;
58
59
  exports.computeSpecFunnel = computeSpecFunnel;
59
60
  exports.findBriefsForSpec = findBriefsForSpec;
60
61
  exports.summarizeBriefFunnel = summarizeBriefFunnel;
@@ -131,6 +132,65 @@ function resolveBriefLink(sq, brief) {
131
132
  specSide,
132
133
  };
133
134
  }
135
+ // ---------------------------------------------------------------------------
136
+ // Idea capture fields (REQ-IDEAS-002.A2) — the single source of truth for a
137
+ // brief's capture date + labels, shared by the `ideas` review view and the
138
+ // list-mode inventory so both surfaces render the same values.
139
+ // ---------------------------------------------------------------------------
140
+ /**
141
+ * Read a brief's idea-capture fields from the frontmatter REQ-IDEAS-001 writes.
142
+ *
143
+ * - `capturedAt` — `metadata.created` (the capture moment) parsed to epoch ms.
144
+ * `spec.createdAt` is index-time, not capture-time, so age MUST come from
145
+ * here. Accepts an epoch-ms number or an ISO/date string; `null` when the
146
+ * key is absent or unparseable.
147
+ * - `labels` — the plural `metadata.labels` (a comma-delimited string OR a
148
+ * `string[]`) PLUS the singular `metadata.label` the capture verb writes
149
+ * (treated as a one-element list). `[]` when neither is present.
150
+ *
151
+ * Defensive throughout: older briefs (captured before REQ-IDEAS-001) carry
152
+ * neither field, and both surfaces must still render cleanly.
153
+ */
154
+ function ideaCaptureFields(brief) {
155
+ const meta = brief.metadata && typeof brief.metadata === 'object'
156
+ ? brief.metadata
157
+ : {};
158
+ let capturedAt = null;
159
+ const created = meta.created;
160
+ if (typeof created === 'number' && Number.isFinite(created)) {
161
+ capturedAt = created;
162
+ }
163
+ else if (typeof created === 'string' && created.trim().length > 0) {
164
+ const parsed = Date.parse(created.trim());
165
+ if (!Number.isNaN(parsed))
166
+ capturedAt = parsed;
167
+ }
168
+ const labels = [];
169
+ // Plural `labels`: comma-delimited string or an array.
170
+ const many = meta.labels;
171
+ if (typeof many === 'string') {
172
+ for (const part of many.split(',')) {
173
+ const v = part.trim();
174
+ if (v)
175
+ labels.push(v);
176
+ }
177
+ }
178
+ else if (Array.isArray(many)) {
179
+ for (const part of many) {
180
+ const v = String(part).trim();
181
+ if (v)
182
+ labels.push(v);
183
+ }
184
+ }
185
+ // Singular `label`: the key the capture verb writes — a one-element list.
186
+ const one = meta.label;
187
+ if (typeof one === 'string') {
188
+ const v = one.trim();
189
+ if (v)
190
+ labels.push(v);
191
+ }
192
+ return { capturedAt, labels };
193
+ }
134
194
  /** Implementation rollup for a single document's requirements. */
135
195
  function documentRollup(sq, docId) {
136
196
  const reqs = sq.getSpecsByParent(docId).filter((s) => s.kind === 'requirement');
@@ -181,7 +241,11 @@ function computeSpecFunnel(sq) {
181
241
  }
182
242
  const ideas = briefLinks
183
243
  .filter((l) => l.state === 'idea')
184
- .map((l) => ({ briefId: l.briefId, title: sq.getSpecById(l.briefId)?.title ?? '' }));
244
+ .map((l) => {
245
+ const brief = sq.getSpecById(l.briefId);
246
+ const cap = brief ? ideaCaptureFields(brief) : { capturedAt: null, labels: [] };
247
+ return { briefId: l.briefId, title: brief?.title ?? '', capturedAt: cap.capturedAt, labels: cap.labels };
248
+ });
185
249
  const conflicts = briefLinks
186
250
  .filter((l) => l.state === 'conflict')
187
251
  .map((l) => ({ briefId: l.briefId, briefSide: l.briefSide, specSide: l.specSide }));
@@ -1 +1 @@
1
- {"version":3,"file":"brief-link-resolver.js","sourceRoot":"","sources":["../../src/resolution/brief-link-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brief-link-resolver.js","sourceRoot":"","sources":["../../src/resolution/brief-link-resolver.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@
27
27
  * Highest-confidence signal wins per logical key — `upsertSpecLink` enforces
28
28
  * this.
29
29
  */
30
- import { Spec, SpecLink } from '../types';
30
+ import { Spec, SpecLink, SpecLinkState } from '../types';
31
31
  import { QueryBuilder } from '../db/queries';
32
32
  import { SpecQueries } from '../db/spec-queries';
33
33
  import { SpecLinkCandidate } from '../extraction/specs/types';
@@ -44,6 +44,20 @@ export interface SpecLinkResolverStats {
44
44
  driftedCode: number;
45
45
  candidatesApplied: number;
46
46
  commentLinksApplied: number;
47
+ /**
48
+ * Links that TRANSITIONED into `drifted` during this pass (REQ-DRIFT-PUSH-001).
49
+ * A link already in `drifted` that re-drifts is not recorded — consumers
50
+ * (the sync CLI's push notice) must see each drift once, not on every sync.
51
+ */
52
+ transitions: DriftTransition[];
53
+ }
54
+ /** One link's transition into `drifted`, for push notification (DRIFT-PUSH-DOC). */
55
+ export interface DriftTransition {
56
+ specId: string;
57
+ fromState: SpecLinkState;
58
+ axis: 'code' | 'spec';
59
+ /** The linked symbol (`targetQualifiedName`). */
60
+ symbol: string;
47
61
  }
48
62
  /** One code link inherited by a spec through a spec→spec dependency edge. */
49
63
  export interface InheritedLink {
@@ -126,7 +140,7 @@ export declare class SpecLinkResolver {
126
140
  * The agent's job after seeing drift: re-read the spec, update code if
127
141
  * needed, call specship_link_verify to take state back to `verified`.
128
142
  */
129
- markSpecDrifted(specId: string, newSpecHash: string): number;
143
+ markSpecDrifted(specId: string, newSpecHash: string, stats?: SpecLinkResolverStats): number;
130
144
  /**
131
145
  * Compute the code links a spec inherits transitively through its
132
146
  * spec→spec edges (`parentId` + `metadata.depends_on`). A `domain` fact
@@ -1 +1 @@
1
- {"version":3,"file":"spec-link-resolver.d.ts","sourceRoot":"","sources":["../../src/resolution/spec-link-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAGL,IAAI,EACJ,QAAQ,EAGT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAY9D,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,iFAAiF;IACjF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAKD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAalD;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,IAAI,CAA0B;gBAGpC,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,WAAW,EACxB,IAAI,GAAE,uBAA4B;IAOpC;;;OAGG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,qBAAqB;IAQnE;;;OAGG;IACH,UAAU,IAAI,qBAAqB;IAQnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,cAAc;IA+CtB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;;OAGG;IACH,0BAA0B,CACxB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EACnC,KAAK,CAAC,EAAE,qBAAqB,GAC5B,IAAI;IAgCP;;;;;;;;;;OAUG;IACH,qBAAqB,CACnB,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,CAAC,EAAE,qBAAqB,GAC5B,IAAI;IA4CP;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAgB5D;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CACf,IAAI,EAAE,IAAI,EACV,QAAQ,GAAE,MAAiC,GAC1C,oBAAoB;IA4CvB,OAAO,CAAC,SAAS;CAUlB"}
1
+ {"version":3,"file":"spec-link-resolver.d.ts","sourceRoot":"","sources":["../../src/resolution/spec-link-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAGL,IAAI,EACJ,QAAQ,EACR,aAAa,EAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAY9D,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,oFAAoF;AACpF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,iFAAiF;IACjF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAKD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAalD;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,IAAI,CAA0B;gBAGpC,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,WAAW,EACxB,IAAI,GAAE,uBAA4B;IAOpC;;;OAGG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,qBAAqB;IAQnE;;;OAGG;IACH,UAAU,IAAI,qBAAqB;IAQnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,cAAc;IAwDtB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;;OAGG;IACH,0BAA0B,CACxB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EACnC,KAAK,CAAC,EAAE,qBAAqB,GAC5B,IAAI;IAgCP;;;;;;;;;;OAUG;IACH,qBAAqB,CACnB,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,CAAC,EAAE,qBAAqB,GAC5B,IAAI;IA4CP;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,qBAAqB,GAAG,MAAM;IAwB3F;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CACf,IAAI,EAAE,IAAI,EACV,QAAQ,GAAE,MAAiC,GAC1C,oBAAoB;IA4CvB,OAAO,CAAC,SAAS;CAWlB"}
@@ -131,6 +131,15 @@ class SpecLinkResolver {
131
131
  !STICKY_STATES.has(link.state)) {
132
132
  this.specQueries.updateSpecLinkState(link.id, 'drifted', 'code', now);
133
133
  stats.driftedCode++;
134
+ if (link.state !== 'drifted') {
135
+ // A genuine transition, not a re-drift — record for push notification.
136
+ stats.transitions.push({
137
+ specId: link.specId,
138
+ fromState: link.state,
139
+ axis: 'code',
140
+ symbol: link.targetQualifiedName,
141
+ });
142
+ }
134
143
  if (this.opts.verbose) {
135
144
  // eslint-disable-next-line no-console
136
145
  console.error(`[SpecLinkResolver] drift(code) ${link.targetQualifiedName} for spec ${link.specId}`);
@@ -254,7 +263,7 @@ class SpecLinkResolver {
254
263
  * The agent's job after seeing drift: re-read the spec, update code if
255
264
  * needed, call specship_link_verify to take state back to `verified`.
256
265
  */
257
- markSpecDrifted(specId, newSpecHash) {
266
+ markSpecDrifted(specId, newSpecHash, stats) {
258
267
  const now = Date.now();
259
268
  let count = 0;
260
269
  for (const link of this.specQueries.getLinksBySpec(specId)) {
@@ -264,6 +273,14 @@ class SpecLinkResolver {
264
273
  continue;
265
274
  this.specQueries.updateSpecLinkState(link.id, 'drifted', 'spec', now);
266
275
  count++;
276
+ if (stats && link.state !== 'drifted') {
277
+ stats.transitions.push({
278
+ specId: link.specId,
279
+ fromState: link.state,
280
+ axis: 'spec',
281
+ symbol: link.targetQualifiedName,
282
+ });
283
+ }
267
284
  }
268
285
  return count;
269
286
  }
@@ -330,6 +347,7 @@ class SpecLinkResolver {
330
347
  driftedCode: 0,
331
348
  candidatesApplied: 0,
332
349
  commentLinksApplied: 0,
350
+ transitions: [],
333
351
  };
334
352
  }
335
353
  }