@tonycasey/lisa 2.25.2 → 2.26.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 (86) hide show
  1. package/README.md +31 -1
  2. package/dist/lib/application/handlers/SessionStartHandler.d.ts +15 -0
  3. package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -1
  4. package/dist/lib/application/handlers/SessionStartHandler.js +116 -5
  5. package/dist/lib/application/handlers/SessionStartHandler.js.map +1 -1
  6. package/dist/lib/application/services/GitTriageService.d.ts +45 -0
  7. package/dist/lib/application/services/GitTriageService.d.ts.map +1 -0
  8. package/dist/lib/application/services/GitTriageService.js +360 -0
  9. package/dist/lib/application/services/GitTriageService.js.map +1 -0
  10. package/dist/lib/application/services/SessionContextFormatter.d.ts +11 -1
  11. package/dist/lib/application/services/SessionContextFormatter.d.ts.map +1 -1
  12. package/dist/lib/application/services/SessionContextFormatter.js +59 -3
  13. package/dist/lib/application/services/SessionContextFormatter.js.map +1 -1
  14. package/dist/lib/application/services/index.d.ts +1 -0
  15. package/dist/lib/application/services/index.d.ts.map +1 -1
  16. package/dist/lib/application/services/index.js +3 -1
  17. package/dist/lib/application/services/index.js.map +1 -1
  18. package/dist/lib/commands/doctor.js +1 -1
  19. package/dist/lib/commands/doctor.js.map +1 -1
  20. package/dist/lib/domain/interfaces/ICommitEnricher.d.ts +81 -0
  21. package/dist/lib/domain/interfaces/ICommitEnricher.d.ts.map +1 -0
  22. package/dist/lib/domain/interfaces/ICommitEnricher.js +33 -0
  23. package/dist/lib/domain/interfaces/ICommitEnricher.js.map +1 -0
  24. package/dist/lib/domain/interfaces/IGitClient.d.ts +86 -0
  25. package/dist/lib/domain/interfaces/IGitClient.d.ts.map +1 -1
  26. package/dist/lib/domain/interfaces/IGitTriageService.d.ts +180 -0
  27. package/dist/lib/domain/interfaces/IGitTriageService.d.ts.map +1 -0
  28. package/dist/lib/domain/interfaces/IGitTriageService.js +12 -0
  29. package/dist/lib/domain/interfaces/IGitTriageService.js.map +1 -0
  30. package/dist/lib/domain/interfaces/ILisaServices.d.ts +6 -0
  31. package/dist/lib/domain/interfaces/ILisaServices.d.ts.map +1 -1
  32. package/dist/lib/domain/interfaces/index.d.ts +3 -1
  33. package/dist/lib/domain/interfaces/index.d.ts.map +1 -1
  34. package/dist/lib/domain/interfaces/index.js +4 -1
  35. package/dist/lib/domain/interfaces/index.js.map +1 -1
  36. package/dist/lib/infrastructure/adapters/claude/session-start.d.ts +5 -0
  37. package/dist/lib/infrastructure/adapters/claude/session-start.d.ts.map +1 -1
  38. package/dist/lib/infrastructure/adapters/claude/session-start.js +50 -4
  39. package/dist/lib/infrastructure/adapters/claude/session-start.js.map +1 -1
  40. package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts +4 -0
  41. package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts.map +1 -1
  42. package/dist/lib/infrastructure/adapters/claude/session-stop.js +32 -0
  43. package/dist/lib/infrastructure/adapters/claude/session-stop.js.map +1 -1
  44. package/dist/lib/infrastructure/di/ServiceFactory.d.ts +2 -0
  45. package/dist/lib/infrastructure/di/ServiceFactory.d.ts.map +1 -1
  46. package/dist/lib/infrastructure/di/bootstrap.d.ts.map +1 -1
  47. package/dist/lib/infrastructure/di/bootstrap.js +11 -1
  48. package/dist/lib/infrastructure/di/bootstrap.js.map +1 -1
  49. package/dist/lib/infrastructure/di/tokens.d.ts +2 -0
  50. package/dist/lib/infrastructure/di/tokens.d.ts.map +1 -1
  51. package/dist/lib/infrastructure/di/tokens.js +1 -0
  52. package/dist/lib/infrastructure/di/tokens.js.map +1 -1
  53. package/dist/lib/infrastructure/git/GitClient.d.ts +11 -1
  54. package/dist/lib/infrastructure/git/GitClient.d.ts.map +1 -1
  55. package/dist/lib/infrastructure/git/GitClient.js +137 -0
  56. package/dist/lib/infrastructure/git/GitClient.js.map +1 -1
  57. package/dist/lib/infrastructure/logging/Logger.d.ts +13 -1
  58. package/dist/lib/infrastructure/logging/Logger.d.ts.map +1 -1
  59. package/dist/lib/infrastructure/logging/Logger.js +25 -7
  60. package/dist/lib/infrastructure/logging/Logger.js.map +1 -1
  61. package/dist/lib/infrastructure/logging/factory.d.ts +5 -1
  62. package/dist/lib/infrastructure/logging/factory.d.ts.map +1 -1
  63. package/dist/lib/infrastructure/logging/factory.js +3 -0
  64. package/dist/lib/infrastructure/logging/factory.js.map +1 -1
  65. package/dist/lib/infrastructure/logging/index.d.ts +1 -1
  66. package/dist/lib/infrastructure/logging/index.d.ts.map +1 -1
  67. package/dist/lib/infrastructure/logging/index.js.map +1 -1
  68. package/dist/lib/infrastructure/services/CommitEnricher.d.ts +26 -0
  69. package/dist/lib/infrastructure/services/CommitEnricher.d.ts.map +1 -0
  70. package/dist/lib/infrastructure/services/CommitEnricher.js +214 -0
  71. package/dist/lib/infrastructure/services/CommitEnricher.js.map +1 -0
  72. package/dist/lib/infrastructure/services/TranscriptEnricher.d.ts +5 -2
  73. package/dist/lib/infrastructure/services/TranscriptEnricher.d.ts.map +1 -1
  74. package/dist/lib/infrastructure/services/TranscriptEnricher.js +10 -3
  75. package/dist/lib/infrastructure/services/TranscriptEnricher.js.map +1 -1
  76. package/dist/lib/infrastructure/services/prompts/commit-extraction.d.ts +26 -0
  77. package/dist/lib/infrastructure/services/prompts/commit-extraction.d.ts.map +1 -0
  78. package/dist/lib/infrastructure/services/prompts/commit-extraction.js +151 -0
  79. package/dist/lib/infrastructure/services/prompts/commit-extraction.js.map +1 -0
  80. package/dist/lib/skills/shared/utils/group-id.d.ts.map +1 -1
  81. package/dist/lib/skills/shared/utils/group-id.js +1 -0
  82. package/dist/lib/skills/shared/utils/group-id.js.map +1 -1
  83. package/dist/opencode/lisa.js +909 -19
  84. package/dist/package.json +1 -1
  85. package/dist/project/.lisa/rules/shared/git-rules.md +12 -3
  86. package/package.json +3 -3
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+ /**
3
+ * GitTriageService
4
+ *
5
+ * Application service that scans git history and scores commits
6
+ * for "interestingness" to identify which commits warrant API enrichment.
7
+ *
8
+ * Part of the Git-Powered Memory feature (LISA-7).
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.GitTriageService = void 0;
12
+ /**
13
+ * Default triage threshold score.
14
+ * Commits scoring >= this value are considered high-interest.
15
+ */
16
+ const DEFAULT_THRESHOLD = 3;
17
+ /**
18
+ * Default lookback period in days.
19
+ */
20
+ const DEFAULT_DAYS = 90; // 3 months
21
+ /**
22
+ * Conventional commit prefixes to detect.
23
+ */
24
+ const CONVENTIONAL_PREFIXES = [
25
+ 'feat',
26
+ 'fix',
27
+ 'refactor',
28
+ 'docs',
29
+ 'test',
30
+ 'chore',
31
+ 'style',
32
+ 'perf',
33
+ 'ci',
34
+ 'build',
35
+ 'revert',
36
+ ];
37
+ /**
38
+ * Regex pattern for detecting conventional commit prefixes.
39
+ * Built from the CONVENTIONAL_PREFIXES array for consistency.
40
+ */
41
+ const CONVENTIONAL_COMMIT_REGEX = new RegExp(`^(${CONVENTIONAL_PREFIXES.join('|')})(\\(.+\\))?[!]?:`, 'i');
42
+ /**
43
+ * Decision keywords that indicate architectural/design decisions.
44
+ */
45
+ const DECISION_KEYWORDS = [
46
+ 'migrate',
47
+ 'replace',
48
+ 'rewrite',
49
+ 'deprecate',
50
+ 'breaking',
51
+ 'workaround',
52
+ 'decision',
53
+ 'architecture',
54
+ 'redesign',
55
+ 'overhaul',
56
+ ];
57
+ /**
58
+ * Scoring weights for interest signals.
59
+ */
60
+ const SCORES = {
61
+ largeDiffFiles: 3, // 10+ files changed
62
+ largeDiffLines: 2, // 500+ lines changed
63
+ mergeCommitWithPR: 3, // merge commit with PR reference
64
+ conventionalPrefix: 1, // has conventional commit prefix
65
+ decisionKeywords: 2, // contains decision keywords
66
+ createsNewDirectory: 2, // creates new top-level dir
67
+ tagAdjacent: 2, // within N commits of a tag
68
+ longMessageBody: 1, // multi-line body
69
+ };
70
+ /**
71
+ * How close a commit must be to a tag to be "tag-adjacent".
72
+ */
73
+ const TAG_ADJACENT_DISTANCE = 3;
74
+ /**
75
+ * Margin below threshold to fetch detailed stats.
76
+ * Commits scoring (threshold - STAT_FETCH_MARGIN) or higher get stats fetched,
77
+ * since stats-based signals could push them over the threshold.
78
+ */
79
+ const STAT_FETCH_MARGIN = 2;
80
+ class GitTriageService {
81
+ constructor(git) {
82
+ this.git = git;
83
+ }
84
+ async triage(options) {
85
+ const startTime = Date.now();
86
+ const threshold = options?.threshold ?? DEFAULT_THRESHOLD;
87
+ const cwd = options?.cwd;
88
+ // Calculate date range
89
+ const since = options?.since ?? this.getDefaultSince();
90
+ const until = options?.until ?? new Date();
91
+ // Fetch all tags first (for tag-adjacency scoring)
92
+ const tags = this.git.listTags(cwd);
93
+ const tagShas = new Set(tags.map(t => t.sha));
94
+ const tagInfo = tags.map(t => ({
95
+ name: t.name,
96
+ sha: t.sha,
97
+ isVersionTag: this.isVersionTag(t.name),
98
+ }));
99
+ // Fetch commits in the date range
100
+ const rawCommits = this.git.logDetailed({
101
+ since: since.toISOString(),
102
+ until: until.toISOString(),
103
+ maxCount: options?.maxCommits,
104
+ cwd,
105
+ });
106
+ if (rawCommits.length === 0) {
107
+ return this.emptyResult(startTime, tagInfo);
108
+ }
109
+ // Build a map of SHA -> position for tag adjacency
110
+ const shaToPosition = new Map();
111
+ for (let i = 0; i < rawCommits.length; i++) {
112
+ shaToPosition.set(rawCommits[i].sha, i);
113
+ }
114
+ // Find positions of tagged commits for adjacency check
115
+ const tagPositions = new Set();
116
+ for (const tag of tags) {
117
+ const pos = shaToPosition.get(tag.sha);
118
+ if (pos !== undefined) {
119
+ // Mark positions within TAG_ADJACENT_DISTANCE
120
+ for (let i = Math.max(0, pos - TAG_ADJACENT_DISTANCE); i <= pos + TAG_ADJACENT_DISTANCE; i++) {
121
+ tagPositions.add(i);
122
+ }
123
+ }
124
+ }
125
+ // Track file hotspots
126
+ const fileStats = new Map();
127
+ // Score each commit
128
+ const scoredCommits = [];
129
+ const belowThreshold = [];
130
+ const minorInterest = [];
131
+ for (let i = 0; i < rawCommits.length; i++) {
132
+ const raw = rawCommits[i];
133
+ const commit = this.parseCommit(raw);
134
+ // Check if tag-adjacent based on position
135
+ const isTagAdjacent = tagPositions.has(i);
136
+ // Quick scoring without stats first
137
+ const quickSignals = this.detectSignals(commit, null, tagShas, isTagAdjacent);
138
+ const quickScore = this.calculateScore(quickSignals);
139
+ // If score is already high enough or we want all stats, fetch detailed stats
140
+ let stats = null;
141
+ let finalSignals = quickSignals;
142
+ let finalScore = quickScore;
143
+ if (quickScore >= threshold - STAT_FETCH_MARGIN || options?.fetchAllStats) {
144
+ // Fetch stats for borderline or high-interest commits
145
+ const rawStats = this.git.getCommitStats(commit.sha, cwd);
146
+ stats = this.parseStats(rawStats);
147
+ // Re-score with stats
148
+ finalSignals = this.detectSignals(commit, stats, tagShas, isTagAdjacent);
149
+ finalScore = this.calculateScore(finalSignals);
150
+ // Update hotspots
151
+ for (const entry of rawStats) {
152
+ const existing = fileStats.get(entry.path) ?? { commits: 0, lines: 0 };
153
+ existing.commits++;
154
+ existing.lines += (entry.added ?? 0) + (entry.deleted ?? 0);
155
+ fileStats.set(entry.path, existing);
156
+ }
157
+ }
158
+ const scored = {
159
+ commit,
160
+ stats,
161
+ signals: finalSignals,
162
+ score: finalScore,
163
+ passedTriage: finalScore >= threshold,
164
+ };
165
+ if (finalScore >= threshold) {
166
+ scoredCommits.push(scored);
167
+ }
168
+ else if (finalScore > 0) {
169
+ minorInterest.push(scored);
170
+ }
171
+ else {
172
+ belowThreshold.push(scored);
173
+ }
174
+ }
175
+ // Sort high-interest by score descending
176
+ scoredCommits.sort((a, b) => b.score - a.score);
177
+ // Build hotspots list (top 20)
178
+ const hotspots = Array.from(fileStats.entries())
179
+ .map(([path, data]) => ({
180
+ path,
181
+ commitCount: data.commits,
182
+ totalLinesChanged: data.lines,
183
+ }))
184
+ .sort((a, b) => b.commitCount - a.commitCount || b.totalLinesChanged - a.totalLinesChanged)
185
+ .slice(0, 20);
186
+ // Count PR links and tag links
187
+ const linkedToPRs = scoredCommits.filter(s => s.signals.prNumber !== null).length;
188
+ const linkedToTags = scoredCommits.filter(s => s.signals.isTagAdjacent).length;
189
+ return {
190
+ totalCommits: rawCommits.length,
191
+ belowThreshold: belowThreshold.length,
192
+ minorInterest: minorInterest.length,
193
+ highInterest: scoredCommits,
194
+ linkedToPRs,
195
+ linkedToTags,
196
+ hotspots,
197
+ tags: tagInfo,
198
+ durationMs: Date.now() - startTime,
199
+ };
200
+ }
201
+ scoreCommit(commit, stats, tagShas, isTagAdjacent) {
202
+ // Use provided adjacency or fall back to checking if commit is itself tagged
203
+ const tagAdjacent = isTagAdjacent ?? tagShas.has(commit.sha);
204
+ const signals = this.detectSignals(commit, stats, tagShas, tagAdjacent);
205
+ const score = this.calculateScore(signals);
206
+ return {
207
+ commit,
208
+ stats,
209
+ signals,
210
+ score,
211
+ passedTriage: score >= DEFAULT_THRESHOLD,
212
+ };
213
+ }
214
+ /**
215
+ * Parse raw git log commit into domain type.
216
+ */
217
+ parseCommit(raw) {
218
+ // Extract refs (tags, branches) from ref names string
219
+ const refs = raw.refNames
220
+ .split(',')
221
+ .map(r => r.trim())
222
+ .filter(r => r && r !== 'HEAD');
223
+ return {
224
+ sha: raw.sha,
225
+ shortSha: raw.shortSha,
226
+ subject: raw.subject,
227
+ body: raw.body,
228
+ parentCount: raw.parentShas.length,
229
+ author: raw.authorName,
230
+ authorEmail: raw.authorEmail,
231
+ timestamp: new Date(raw.authorTimestamp * 1000),
232
+ refs,
233
+ };
234
+ }
235
+ /**
236
+ * Parse raw stat entries into domain type.
237
+ */
238
+ parseStats(entries) {
239
+ let insertions = 0;
240
+ let deletions = 0;
241
+ const filesAdded = [];
242
+ const filesDeleted = [];
243
+ const directories = new Set();
244
+ for (const entry of entries) {
245
+ insertions += entry.added ?? 0;
246
+ deletions += entry.deleted ?? 0;
247
+ if (entry.isNew) {
248
+ filesAdded.push(entry.path);
249
+ // Track directories for new files
250
+ const dir = entry.path.split('/')[0];
251
+ if (dir && dir !== entry.path) {
252
+ directories.add(dir);
253
+ }
254
+ }
255
+ if (entry.isDeleted) {
256
+ filesDeleted.push(entry.path);
257
+ }
258
+ }
259
+ return {
260
+ filesChanged: entries.length,
261
+ insertions,
262
+ deletions,
263
+ filesAdded,
264
+ filesDeleted,
265
+ directoriesCreated: Array.from(directories),
266
+ };
267
+ }
268
+ /**
269
+ * Detect interest signals for a commit.
270
+ */
271
+ detectSignals(commit, stats, _tagShas, isTagAdjacent) {
272
+ // Large diff detection
273
+ const largeDiffFiles = stats !== null && stats.filesChanged >= 10;
274
+ const largeDiffLines = stats !== null && (stats.insertions + stats.deletions) >= 500;
275
+ // Merge commit with PR
276
+ const prMatch = commit.subject.match(/Merge pull request #(\d+)/i)
277
+ ?? commit.subject.match(/\(#(\d+)\)/)
278
+ ?? commit.body.match(/PR[:\s#]+(\d+)/i);
279
+ const prNumber = prMatch ? parseInt(prMatch[1], 10) : null;
280
+ const mergeCommitWithPR = commit.parentCount >= 2 && prNumber !== null;
281
+ // Conventional commit (using centralized regex built from CONVENTIONAL_PREFIXES)
282
+ const conventionalMatch = commit.subject.match(CONVENTIONAL_COMMIT_REGEX);
283
+ const hasConventionalPrefix = conventionalMatch !== null;
284
+ const conventionalType = conventionalMatch ? conventionalMatch[1].toLowerCase() : null;
285
+ // Decision keywords
286
+ const messageText = `${commit.subject} ${commit.body}`.toLowerCase();
287
+ const hasDecisionKeywords = DECISION_KEYWORDS.some(kw => messageText.includes(kw));
288
+ // New directory detection
289
+ const createsNewDirectory = stats !== null && stats.directoriesCreated.length > 0;
290
+ // Long message body
291
+ const hasLongMessageBody = commit.body.split('\n').filter(l => l.trim()).length >= 2;
292
+ return {
293
+ largeDiffFiles,
294
+ largeDiffLines,
295
+ mergeCommitWithPR,
296
+ hasConventionalPrefix,
297
+ conventionalType,
298
+ hasDecisionKeywords,
299
+ createsNewDirectory,
300
+ isTagAdjacent,
301
+ hasLongMessageBody,
302
+ prNumber,
303
+ };
304
+ }
305
+ /**
306
+ * Calculate interest score from signals.
307
+ */
308
+ calculateScore(signals) {
309
+ let score = 0;
310
+ if (signals.largeDiffFiles)
311
+ score += SCORES.largeDiffFiles;
312
+ if (signals.largeDiffLines)
313
+ score += SCORES.largeDiffLines;
314
+ if (signals.mergeCommitWithPR)
315
+ score += SCORES.mergeCommitWithPR;
316
+ if (signals.hasConventionalPrefix)
317
+ score += SCORES.conventionalPrefix;
318
+ if (signals.hasDecisionKeywords)
319
+ score += SCORES.decisionKeywords;
320
+ if (signals.createsNewDirectory)
321
+ score += SCORES.createsNewDirectory;
322
+ if (signals.isTagAdjacent)
323
+ score += SCORES.tagAdjacent;
324
+ if (signals.hasLongMessageBody)
325
+ score += SCORES.longMessageBody;
326
+ return score;
327
+ }
328
+ /**
329
+ * Get default "since" date (3 months ago).
330
+ */
331
+ getDefaultSince() {
332
+ const date = new Date();
333
+ date.setDate(date.getDate() - DEFAULT_DAYS);
334
+ return date;
335
+ }
336
+ /**
337
+ * Check if a tag name looks like a version tag.
338
+ */
339
+ isVersionTag(name) {
340
+ return /^v?\d+\.\d+(\.\d+)?/.test(name);
341
+ }
342
+ /**
343
+ * Create an empty result (for repos with no commits in range).
344
+ */
345
+ emptyResult(startTime, tags) {
346
+ return {
347
+ totalCommits: 0,
348
+ belowThreshold: 0,
349
+ minorInterest: 0,
350
+ highInterest: [],
351
+ linkedToPRs: 0,
352
+ linkedToTags: 0,
353
+ hotspots: [],
354
+ tags,
355
+ durationMs: Date.now() - startTime,
356
+ };
357
+ }
358
+ }
359
+ exports.GitTriageService = GitTriageService;
360
+ //# sourceMappingURL=GitTriageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitTriageService.js","sourceRoot":"","sources":["../../../../src/lib/application/services/GitTriageService.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * formatting logic without MCP/DAL/git dependencies.
7
7
  */
8
8
  import type { SessionTrigger, IMemoryItem, ITask, ITaskCounts } from '../../domain';
9
+ import type { ITriageResult } from '../../domain/interfaces/IGitTriageService';
9
10
  /**
10
11
  * Git commit summary used in context display.
11
12
  */
@@ -44,7 +45,7 @@ export declare class SessionContextFormatter {
44
45
  /**
45
46
  * Format the full context content for injection into session context.
46
47
  */
47
- formatContextContent(trigger: SessionTrigger, memories: IFormattableMemories, tasks: readonly ITask[], taskCounts: ITaskCounts, context: ISessionContext, gitCommits?: readonly IGitCommit[], querySince?: Date): string;
48
+ formatContextContent(trigger: SessionTrigger, memories: IFormattableMemories, tasks: readonly ITask[], taskCounts: ITaskCounts, context: ISessionContext, gitCommits?: readonly IGitCommit[], querySince?: Date, gitTriage?: ITriageResult | null): string;
48
49
  /**
49
50
  * Filter memories to recent items within a time window.
50
51
  */
@@ -73,5 +74,14 @@ export declare class SessionContextFormatter {
73
74
  * Format a date as a relative display string.
74
75
  */
75
76
  formatRelativeDate(date: Date): string;
77
+ /**
78
+ * Format git triage results as a compact summary.
79
+ * Shows aggregate counts rather than individual commits.
80
+ */
81
+ formatGitTriageSummary(triage: ITriageResult): string[];
82
+ /**
83
+ * Format a file path for hotspot display (truncate long paths).
84
+ */
85
+ private formatHotspotPath;
76
86
  }
77
87
  //# sourceMappingURL=SessionContextFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionContextFormatter.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/services/SessionContextFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,KAAK,EACL,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAoBD,qBAAa,uBAAuB;IAClC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAYrE;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE;IAqBtD;;OAEG;IACH,oBAAoB,CAClB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,eAAe,EACxB,UAAU,GAAE,SAAS,UAAU,EAAO,EACtC,UAAU,CAAC,EAAE,IAAI,GAChB,MAAM;IAsFT;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;IAWvF;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAS9E;;OAEG;IACH,mBAAmB,CACjB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,aAAa,EAAE,MAAM,GACpB,KAAK,CAAC;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA2CvE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM;IAqCpD;;OAEG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAkB/C;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;CAsBvC"}
1
+ {"version":3,"file":"SessionContextFormatter.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/services/SessionContextFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,KAAK,EACL,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAyBD,qBAAa,uBAAuB;IAClC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAYrE;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE;IAqBtD;;OAEG;IACH,oBAAoB,CAClB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,eAAe,EACxB,UAAU,GAAE,SAAS,UAAU,EAAO,EACtC,UAAU,CAAC,EAAE,IAAI,EACjB,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,GAC/B,MAAM;IAyFT;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;IAWvF;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAS9E;;OAEG;IACH,mBAAmB,CACjB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,aAAa,EAAE,MAAM,GACpB,KAAK,CAAC;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA2CvE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM;IAqCpD;;OAEG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAkB/C;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAuBtC;;;OAGG;IACH,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE;IAsCvD;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAS1B"}
@@ -14,6 +14,10 @@ exports.SessionContextFormatter = void 0;
14
14
  const RECENT_HOURS = 24;
15
15
  const MAX_RECENT_MEMORIES = 5;
16
16
  const GROUP_WINDOW_MINUTES = 5;
17
+ /**
18
+ * Configuration for git triage display.
19
+ */
20
+ const MAX_HOTSPOTS = 3;
17
21
  /**
18
22
  * Low-level relationship types to exclude (system noise).
19
23
  */
@@ -58,7 +62,7 @@ class SessionContextFormatter {
58
62
  /**
59
63
  * Format the full context content for injection into session context.
60
64
  */
61
- formatContextContent(trigger, memories, tasks, taskCounts, context, gitCommits = [], querySince) {
65
+ formatContextContent(trigger, memories, tasks, taskCounts, context, gitCommits = [], querySince, gitTriage) {
62
66
  const { projectName, userName, folderType, projectRoot, branch } = context;
63
67
  const lines = [];
64
68
  // Trigger message
@@ -82,8 +86,12 @@ class SessionContextFormatter {
82
86
  lines.push(` ${memories.initReview}`);
83
87
  lines.push('');
84
88
  }
85
- // Recent git commits
86
- if (gitCommits.length > 0) {
89
+ // Git triage summary (preferred) or recent commits (fallback)
90
+ if (gitTriage && gitTriage.totalCommits > 0) {
91
+ lines.push('');
92
+ lines.push(...this.formatGitTriageSummary(gitTriage));
93
+ }
94
+ else if (gitCommits.length > 0) {
87
95
  lines.push('');
88
96
  lines.push(`Recent commits (${gitCommits.length}):`);
89
97
  gitCommits.slice(0, 5).forEach(c => {
@@ -281,6 +289,54 @@ class SessionContextFormatter {
281
289
  return `${month} ${day} ${time}`;
282
290
  }
283
291
  }
292
+ /**
293
+ * Format git triage results as a compact summary.
294
+ * Shows aggregate counts rather than individual commits.
295
+ */
296
+ formatGitTriageSummary(triage) {
297
+ const lines = [];
298
+ // Header with total scanned
299
+ lines.push(`Git history: scanned ${triage.totalCommits.toLocaleString()} commits`);
300
+ // Breakdown by category
301
+ if (triage.belowThreshold > 0) {
302
+ lines.push(` → ${triage.belowThreshold.toLocaleString()} below threshold (skipped)`);
303
+ }
304
+ if (triage.minorInterest > 0) {
305
+ lines.push(` → ${triage.minorInterest.toLocaleString()} minor interest`);
306
+ }
307
+ // High interest with sub-breakdown
308
+ const highCount = triage.highInterest.length;
309
+ if (highCount > 0) {
310
+ lines.push(` → ${highCount.toLocaleString()} high interest`);
311
+ if (triage.linkedToPRs > 0) {
312
+ lines.push(` → ${triage.linkedToPRs} linked to PRs`);
313
+ }
314
+ if (triage.linkedToTags > 0) {
315
+ lines.push(` → ${triage.linkedToTags} linked to tags/releases`);
316
+ }
317
+ }
318
+ // Hotspots (most frequently changed files)
319
+ if (triage.hotspots.length > 0) {
320
+ const topHotspots = triage.hotspots.slice(0, MAX_HOTSPOTS);
321
+ const hotspotList = topHotspots
322
+ .map((h) => this.formatHotspotPath(h.path))
323
+ .join(', ');
324
+ lines.push(` Hotspots: ${hotspotList}`);
325
+ }
326
+ return lines;
327
+ }
328
+ /**
329
+ * Format a file path for hotspot display (truncate long paths).
330
+ */
331
+ formatHotspotPath(path) {
332
+ // Show just filename or last path segment for brevity
333
+ const parts = path.split('/');
334
+ if (parts.length <= 2) {
335
+ return path;
336
+ }
337
+ // Show .../<parent>/<filename>
338
+ return `.../${parts.slice(-2).join('/')}`;
339
+ }
284
340
  }
285
341
  exports.SessionContextFormatter = SessionContextFormatter;
286
342
  //# sourceMappingURL=SessionContextFormatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionContextFormatter.js","sourceRoot":"","sources":["../../../../src/lib/application/services/SessionContextFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionContextFormatter.js","sourceRoot":"","sources":["../../../../src/lib/application/services/SessionContextFormatter.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export type { IGitCommit, ISessionContext, IFormattableMemories } from './Sessio
8
8
  export { GitIntrospectionService } from './GitIntrospectionService';
9
9
  export { MemoryContextLoader } from './MemoryContextLoader';
10
10
  export type { IMemoryLoadResult } from './MemoryContextLoader';
11
+ export { GitTriageService } from './GitTriageService';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -5,11 +5,13 @@
5
5
  * Extracted services for testability and separation of concerns.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MemoryContextLoader = exports.GitIntrospectionService = exports.SessionContextFormatter = void 0;
8
+ exports.GitTriageService = exports.MemoryContextLoader = exports.GitIntrospectionService = exports.SessionContextFormatter = void 0;
9
9
  var SessionContextFormatter_1 = require("./SessionContextFormatter");
10
10
  Object.defineProperty(exports, "SessionContextFormatter", { enumerable: true, get: function () { return SessionContextFormatter_1.SessionContextFormatter; } });
11
11
  var GitIntrospectionService_1 = require("./GitIntrospectionService");
12
12
  Object.defineProperty(exports, "GitIntrospectionService", { enumerable: true, get: function () { return GitIntrospectionService_1.GitIntrospectionService; } });
13
13
  var MemoryContextLoader_1 = require("./MemoryContextLoader");
14
14
  Object.defineProperty(exports, "MemoryContextLoader", { enumerable: true, get: function () { return MemoryContextLoader_1.MemoryContextLoader; } });
15
+ var GitTriageService_1 = require("./GitTriageService");
16
+ Object.defineProperty(exports, "GitTriageService", { enumerable: true, get: function () { return GitTriageService_1.GitTriageService; } });
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/application/services/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAGhC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAEhC,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/application/services/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAGhC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAEhC,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
@@ -458,7 +458,7 @@ function findTranscripts() {
458
458
  async function runDoctor(opts, services) {
459
459
  const startTime = Date.now();
460
460
  const cwd = opts.cwd;
461
- const projectName = getProjectName(cwd);
461
+ const _projectName = getProjectName(cwd); // Reserved for future use
462
462
  // Load configuration
463
463
  const config = await loadConfig(cwd);
464
464
  const mode = config?.mode || 'local';