reviewflow 3.41.0 → 3.42.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 (93) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/dashboard/index.html +32 -226
  3. package/dist/dashboard/modules/i18n.d.ts.map +1 -1
  4. package/dist/dashboard/modules/i18n.js +16 -2
  5. package/dist/dashboard/modules/i18n.js.map +1 -1
  6. package/dist/dashboard/modules/statsCharts.d.ts.map +1 -1
  7. package/dist/dashboard/modules/statsCharts.js +43 -28
  8. package/dist/dashboard/modules/statsCharts.js.map +1 -1
  9. package/dist/dashboard/modules/statsPage.d.ts +15 -0
  10. package/dist/dashboard/modules/statsPage.d.ts.map +1 -0
  11. package/dist/dashboard/modules/statsPage.js +250 -0
  12. package/dist/dashboard/modules/statsPage.js.map +1 -0
  13. package/dist/dashboard/stats.html +371 -0
  14. package/dist/dashboard/styles.css +23 -8
  15. package/dist/main/routes.d.ts.map +1 -1
  16. package/dist/main/routes.js +14 -4
  17. package/dist/main/routes.js.map +1 -1
  18. package/dist/modules/statistics-insights/entities/stats/keyInsights.d.ts +4 -3
  19. package/dist/modules/statistics-insights/entities/stats/keyInsights.d.ts.map +1 -1
  20. package/dist/modules/statistics-insights/entities/stats/keyInsights.js +27 -7
  21. package/dist/modules/statistics-insights/entities/stats/keyInsights.js.map +1 -1
  22. package/dist/modules/statistics-insights/interface-adapters/presenters/statsSummary.presenter.d.ts +7 -0
  23. package/dist/modules/statistics-insights/interface-adapters/presenters/statsSummary.presenter.d.ts.map +1 -1
  24. package/dist/modules/statistics-insights/interface-adapters/presenters/statsSummary.presenter.js +24 -1
  25. package/dist/modules/statistics-insights/interface-adapters/presenters/statsSummary.presenter.js.map +1 -1
  26. package/dist/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.d.ts +9 -1
  27. package/dist/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.d.ts.map +1 -1
  28. package/dist/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.js +14 -25
  29. package/dist/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.js.map +1 -1
  30. package/dist/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.d.ts +33 -0
  31. package/dist/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.d.ts.map +1 -0
  32. package/dist/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.js +42 -0
  33. package/dist/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.js.map +1 -0
  34. package/dist/modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.d.ts.map +1 -1
  35. package/dist/modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.js +2 -1
  36. package/dist/modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.js.map +1 -1
  37. package/dist/modules/worktree-management/usecases/ensureWorktree.usecase.d.ts +1 -0
  38. package/dist/modules/worktree-management/usecases/ensureWorktree.usecase.d.ts.map +1 -1
  39. package/dist/modules/worktree-management/usecases/ensureWorktree.usecase.js +17 -1
  40. package/dist/modules/worktree-management/usecases/ensureWorktree.usecase.js.map +1 -1
  41. package/dist/tests/acceptance/170-prebuilt-worktree-lifecycle.acceptance.test.js +3 -0
  42. package/dist/tests/acceptance/170-prebuilt-worktree-lifecycle.acceptance.test.js.map +1 -1
  43. package/dist/tests/acceptance/180-quality-threshold-block-approval.acceptance.test.js +7 -0
  44. package/dist/tests/acceptance/180-quality-threshold-block-approval.acceptance.test.js.map +1 -1
  45. package/dist/tests/acceptance/215-mark-any-review-as-merged.acceptance.test.d.ts +12 -0
  46. package/dist/tests/acceptance/215-mark-any-review-as-merged.acceptance.test.d.ts.map +1 -0
  47. package/dist/tests/acceptance/215-mark-any-review-as-merged.acceptance.test.js +158 -0
  48. package/dist/tests/acceptance/215-mark-any-review-as-merged.acceptance.test.js.map +1 -0
  49. package/dist/tests/acceptance/80-split-stats-service.acceptance.test.js +8 -1
  50. package/dist/tests/acceptance/80-split-stats-service.acceptance.test.js.map +1 -1
  51. package/dist/tests/units/dashboard/dashboardLayout.test.js +11 -18
  52. package/dist/tests/units/dashboard/dashboardLayout.test.js.map +1 -1
  53. package/dist/tests/units/dashboard/modules/i18n.test.js +13 -0
  54. package/dist/tests/units/dashboard/modules/i18n.test.js.map +1 -1
  55. package/dist/tests/units/dashboard/modules/statsCharts.test.js +37 -0
  56. package/dist/tests/units/dashboard/modules/statsCharts.test.js.map +1 -1
  57. package/dist/tests/units/dashboard/modules/statsPage.test.d.ts +2 -0
  58. package/dist/tests/units/dashboard/modules/statsPage.test.d.ts.map +1 -0
  59. package/dist/tests/units/dashboard/modules/statsPage.test.js +169 -0
  60. package/dist/tests/units/dashboard/modules/statsPage.test.js.map +1 -0
  61. package/dist/tests/units/interface-adapters/presenters/statsSummary.presenter.test.js +61 -1
  62. package/dist/tests/units/interface-adapters/presenters/statsSummary.presenter.test.js.map +1 -1
  63. package/dist/tests/units/modules/statistics-insights/entities/stats/keyInsights.test.js +49 -0
  64. package/dist/tests/units/modules/statistics-insights/entities/stats/keyInsights.test.js.map +1 -1
  65. package/dist/tests/units/modules/statistics-insights/entities/stats/reviewOutput.parser.test.d.ts.map +1 -0
  66. package/dist/tests/units/{entities → modules/statistics-insights/entities}/stats/reviewOutput.parser.test.js +1 -1
  67. package/dist/tests/units/modules/statistics-insights/entities/stats/reviewOutput.parser.test.js.map +1 -0
  68. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/keyInsights.presenter.test.js +24 -0
  69. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/keyInsights.presenter.test.js.map +1 -1
  70. package/dist/tests/units/modules/statistics-insights/usecases/stats/addReviewStats.counter.test.d.ts +2 -0
  71. package/dist/tests/units/modules/statistics-insights/usecases/stats/addReviewStats.counter.test.d.ts.map +1 -0
  72. package/dist/tests/units/modules/statistics-insights/usecases/stats/addReviewStats.counter.test.js +95 -0
  73. package/dist/tests/units/modules/statistics-insights/usecases/stats/addReviewStats.counter.test.js.map +1 -0
  74. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.markAsMerged.routes.test.d.ts +2 -0
  75. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.markAsMerged.routes.test.d.ts.map +1 -0
  76. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.markAsMerged.routes.test.js +108 -0
  77. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.markAsMerged.routes.test.js.map +1 -0
  78. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.test.js +11 -5
  79. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.test.js.map +1 -1
  80. package/dist/tests/units/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.test.d.ts +2 -0
  81. package/dist/tests/units/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.test.d.ts.map +1 -0
  82. package/dist/tests/units/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.test.js +138 -0
  83. package/dist/tests/units/modules/tracking/usecases/tracking/markReviewAsMerged.usecase.test.js.map +1 -0
  84. package/dist/tests/units/modules/worktree-management/usecases/ensureWorktree.usecase.test.js +71 -34
  85. package/dist/tests/units/modules/worktree-management/usecases/ensureWorktree.usecase.test.js.map +1 -1
  86. package/package.json +1 -1
  87. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.d.ts +0 -19
  88. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.d.ts.map +0 -1
  89. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.js +0 -157
  90. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.js.map +0 -1
  91. package/dist/tests/units/entities/stats/reviewOutput.parser.test.d.ts.map +0 -1
  92. package/dist/tests/units/entities/stats/reviewOutput.parser.test.js.map +0 -1
  93. /package/dist/tests/units/{entities → modules/statistics-insights/entities}/stats/reviewOutput.parser.test.d.ts +0 -0
@@ -0,0 +1,371 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Reviewflow — Stats</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
10
+ <link rel="stylesheet" href="styles.css">
11
+ <script src="https://unpkg.com/lucide@latest"></script>
12
+ <style>
13
+ .stats-page-body {
14
+ background: var(--bg-0);
15
+ color: var(--ink-1);
16
+ font-family: var(--font-sans);
17
+ margin: 0;
18
+ min-height: 100vh;
19
+ }
20
+ .stats-page-shell {
21
+ max-width: 1180px;
22
+ margin: 0 auto;
23
+ padding: var(--space-6) var(--space-5) var(--space-7);
24
+ }
25
+ .stats-page-header {
26
+ display: flex;
27
+ align-items: flex-end;
28
+ justify-content: space-between;
29
+ gap: var(--space-4);
30
+ flex-wrap: wrap;
31
+ padding-bottom: var(--space-4);
32
+ border-bottom: 1px solid var(--ink-4);
33
+ margin-bottom: var(--space-6);
34
+ }
35
+ .stats-page-eyebrow {
36
+ font-family: var(--font-mono);
37
+ font-size: var(--type-xs);
38
+ letter-spacing: 0.12em;
39
+ color: var(--accent);
40
+ margin: 0 0 var(--space-2);
41
+ }
42
+ .stats-page-title {
43
+ font-family: var(--font-mono);
44
+ font-size: var(--type-xl);
45
+ font-weight: 600;
46
+ color: var(--ink-0);
47
+ margin: 0;
48
+ text-transform: uppercase;
49
+ letter-spacing: 0.02em;
50
+ }
51
+ .stats-page-actions {
52
+ display: flex;
53
+ align-items: center;
54
+ gap: var(--space-3);
55
+ flex-wrap: wrap;
56
+ }
57
+ .stats-project-field {
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: var(--space-1);
61
+ }
62
+ .stats-project-field label {
63
+ font-family: var(--font-mono);
64
+ font-size: 10px;
65
+ letter-spacing: 0.1em;
66
+ text-transform: uppercase;
67
+ color: var(--ink-2);
68
+ }
69
+ .stats-project-select {
70
+ background: var(--bg-2);
71
+ color: var(--ink-0);
72
+ border: 1px solid var(--ink-4);
73
+ border-radius: 8px;
74
+ padding: 0.5rem 0.6rem;
75
+ font-family: var(--font-mono);
76
+ font-size: var(--type-sm);
77
+ min-width: 180px;
78
+ }
79
+ .stats-back {
80
+ display: inline-flex;
81
+ align-items: center;
82
+ gap: 0.4rem;
83
+ background: var(--accent-ghost);
84
+ border: 1px solid rgba(244, 169, 61, 0.3);
85
+ color: var(--accent);
86
+ border-radius: 8px;
87
+ padding: 0.55rem 0.85rem;
88
+ font-family: var(--font-mono);
89
+ font-size: var(--type-sm);
90
+ text-decoration: none;
91
+ transition: all 0.2s;
92
+ }
93
+ .stats-back:hover {
94
+ background: rgba(244, 169, 61, 0.18);
95
+ color: var(--accent-hover);
96
+ }
97
+ .stats-section-eyebrow {
98
+ font-family: var(--font-mono);
99
+ font-size: var(--type-xs);
100
+ letter-spacing: 0.12em;
101
+ color: var(--ink-2);
102
+ margin-bottom: var(--space-3);
103
+ }
104
+ .stats-section-eyebrow--loud {
105
+ color: var(--accent);
106
+ font-weight: 600;
107
+ }
108
+ .stats-period {
109
+ font-family: var(--font-mono);
110
+ font-size: var(--type-base);
111
+ letter-spacing: 0.08em;
112
+ text-transform: uppercase;
113
+ color: var(--accent);
114
+ padding: var(--space-3) var(--space-4);
115
+ margin-bottom: var(--space-6);
116
+ border-left: 4px solid var(--accent);
117
+ border-bottom: 1px solid var(--ink-4);
118
+ background: rgba(244, 169, 61, 0.05);
119
+ }
120
+ .stats-volume { margin-bottom: var(--space-6); }
121
+ .stats-hero-grid {
122
+ display: grid;
123
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
124
+ gap: var(--space-3);
125
+ }
126
+ .stats-hero-tile {
127
+ position: relative;
128
+ background: linear-gradient(165deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015));
129
+ border: 1px solid var(--ink-4);
130
+ border-radius: 12px;
131
+ padding: var(--space-4);
132
+ overflow: hidden;
133
+ }
134
+ .stats-hero-tile::before {
135
+ content: '';
136
+ position: absolute;
137
+ top: 0; left: 0;
138
+ width: 100%; height: 2px;
139
+ background: var(--ink-3);
140
+ }
141
+ .hero-reviews::before { background: var(--accent); }
142
+ .hero-reviews .stats-hero-value { font-size: 2.5rem; }
143
+ .hero-commits::before { background: var(--info); }
144
+ .hero-additions::before { background: var(--success); }
145
+ .hero-deletions::before { background: var(--danger); }
146
+ .hero-net::before { background: var(--accent); }
147
+ .stats-hero-icon { color: var(--ink-2); margin-bottom: var(--space-2); }
148
+ .stats-hero-icon i { width: 18px; height: 18px; }
149
+ .stats-hero-value {
150
+ font-family: var(--font-mono);
151
+ font-size: 2rem;
152
+ font-weight: 600;
153
+ color: var(--ink-0);
154
+ line-height: 1.1;
155
+ }
156
+ .hero-additions .stats-hero-value { color: var(--success); }
157
+ .hero-deletions .stats-hero-value { color: var(--danger); }
158
+ .hero-net .stats-hero-value { color: var(--accent); }
159
+ .stats-hero-label {
160
+ font-family: var(--font-mono);
161
+ font-size: var(--type-sm);
162
+ color: var(--ink-1);
163
+ margin-top: var(--space-2);
164
+ }
165
+ .stats-hero-sub {
166
+ font-family: var(--font-mono);
167
+ font-size: 11px;
168
+ color: var(--ink-2);
169
+ margin-top: 2px;
170
+ }
171
+ .stats-ratio-bar {
172
+ display: flex;
173
+ height: 8px;
174
+ border-radius: 999px;
175
+ overflow: hidden;
176
+ margin-top: var(--space-4);
177
+ background: var(--bg-3);
178
+ }
179
+ .stats-ratio-add { background: var(--success); }
180
+ .stats-ratio-del { background: var(--danger); }
181
+ .stats-quality { margin-bottom: var(--space-6); }
182
+ .stats-insights { margin-top: var(--space-6); }
183
+ .sr-only {
184
+ position: absolute;
185
+ width: 1px;
186
+ height: 1px;
187
+ padding: 0;
188
+ margin: -1px;
189
+ overflow: hidden;
190
+ clip: rect(0, 0, 0, 0);
191
+ white-space: nowrap;
192
+ border: 0;
193
+ }
194
+ </style>
195
+ </head>
196
+ <body class="stats-page-body">
197
+ <main class="stats-page-shell">
198
+ <header class="stats-page-header">
199
+ <div class="stats-page-title-block">
200
+ <p class="stats-page-eyebrow">// REVIEWFLOW</p>
201
+ <h1 id="stats-title" class="stats-page-title"></h1>
202
+ </div>
203
+ <div class="stats-page-actions">
204
+ <div class="stats-project-field">
205
+ <label id="stats-project-label" for="stats-project-select"></label>
206
+ <select id="stats-project-select" class="stats-project-select"></select>
207
+ </div>
208
+ <button type="button" id="recalculate-btn" class="btn btn-sm btn-secondary" onclick="recalculateStats()">
209
+ <i data-lucide="refresh-cw" style="width: 13px; height: 13px;" aria-hidden="true"></i>
210
+ <span id="recalculate-label"></span>
211
+ </button>
212
+ <a href="/dashboard/" class="stats-back">
213
+ <i data-lucide="arrow-left" style="width: 14px; height: 14px;" aria-hidden="true"></i>
214
+ <span id="stats-back-label"></span>
215
+ </a>
216
+ </div>
217
+ </header>
218
+
219
+ <div id="stats-content">
220
+ <div class="empty-state">…</div>
221
+ </div>
222
+ </main>
223
+
224
+ <script type="module">
225
+ import { t, setLanguage } from './modules/i18n.js';
226
+ import { refreshIcons } from './modules/icons.js';
227
+ import { renderStatsPageHtml } from './modules/statsPage.js';
228
+ import {
229
+ drawScoreTrendChart,
230
+ drawReviewActivityChart,
231
+ drawScoreDistributionChart,
232
+ drawBugsByCategoryChart,
233
+ drawReviewsPerMonthChart,
234
+ animateCounter,
235
+ } from './modules/statsCharts.js';
236
+ import { escapeHtml } from './modules/html.js';
237
+
238
+ const API_URL = window.location.origin;
239
+ const projectPath = new URLSearchParams(window.location.search).get('path');
240
+ const contentEl = document.getElementById('stats-content');
241
+ let currentStatsReviews = [];
242
+ let currentDevFilter = 'all';
243
+
244
+ function renderStaticLabels() {
245
+ document.getElementById('stats-title').textContent = t('section.stats');
246
+ document.getElementById('stats-back-label').textContent = t('stats.backToDashboard');
247
+ document.getElementById('recalculate-label').textContent = t('stats.recalculate');
248
+ document.getElementById('stats-project-label').textContent = t('stats.project');
249
+ }
250
+
251
+ async function loadLanguage() {
252
+ try {
253
+ const response = await fetch(`${API_URL}/api/settings`);
254
+ const data = await response.json();
255
+ if (data.language) {
256
+ setLanguage(data.language);
257
+ document.documentElement.lang = data.language;
258
+ }
259
+ } catch {
260
+ /* default language stays */
261
+ }
262
+ }
263
+
264
+ async function loadProjects() {
265
+ try {
266
+ const response = await fetch(`${API_URL}/api/stats`);
267
+ const data = await response.json();
268
+ const projects = data.projects || [];
269
+ const select = document.getElementById('stats-project-select');
270
+ select.innerHTML = projects
271
+ .map((project) => {
272
+ const selected = project.path === projectPath ? ' selected' : '';
273
+ return `<option value="${escapeHtml(project.path)}"${selected}>${escapeHtml(project.project)}</option>`;
274
+ })
275
+ .join('');
276
+ select.addEventListener('change', (event) => {
277
+ window.location.href = `/stats?path=${encodeURIComponent(event.target.value)}`;
278
+ });
279
+ } catch {
280
+ /* selector stays empty; the content area still renders for ?path= */
281
+ }
282
+ }
283
+
284
+ function drawCharts(data) {
285
+ requestAnimationFrame(() => {
286
+ if (currentStatsReviews.length) {
287
+ drawScoreTrendChart('stats-score-trend', currentStatsReviews);
288
+ drawReviewActivityChart('stats-activity', currentStatsReviews);
289
+ drawScoreDistributionChart('stats-distribution', currentStatsReviews);
290
+ }
291
+ if (data.bugsByCategory) {
292
+ drawBugsByCategoryChart('stats-bugs-category', data.bugsByCategory);
293
+ }
294
+ if (data.analyticsHeader && !data.analyticsHeader.isEmpty) {
295
+ drawReviewsPerMonthChart('stats-reviews-per-month', data.analyticsHeader.reviewsPerMonth);
296
+ }
297
+ });
298
+ }
299
+
300
+ async function loadStats() {
301
+ if (!projectPath) {
302
+ contentEl.innerHTML = `<div class="empty-state">${t('empty.statsNoProject')}</div>`;
303
+ return;
304
+ }
305
+ try {
306
+ const response = await fetch(`${API_URL}/api/stats?path=${encodeURIComponent(projectPath)}`);
307
+ const data = await response.json();
308
+ if (!data.summary) {
309
+ contentEl.innerHTML = `<div class="empty-state">${t('empty.statsNoData')}</div>`;
310
+ return;
311
+ }
312
+ contentEl.innerHTML = renderStatsPageHtml(data, t);
313
+ refreshIcons();
314
+ currentStatsReviews = (data.stats && data.stats.reviews) || [];
315
+ contentEl.querySelectorAll('.stat-main[data-target]').forEach((element) => {
316
+ const target = parseFloat(element.dataset.target);
317
+ if (!Number.isNaN(target)) {
318
+ animateCounter(element, target, 800, element.dataset.suffix || '');
319
+ }
320
+ });
321
+ drawCharts(data);
322
+ } catch (error) {
323
+ console.error('Error loading stats:', error);
324
+ contentEl.innerHTML = `<div class="empty-state">${t('error.loadingStats')}</div>`;
325
+ }
326
+ }
327
+
328
+ window.filterScoreTrend = function filterScoreTrend(selectedDev) {
329
+ currentDevFilter = selectedDev;
330
+ document.querySelectorAll('.dev-filter-btn').forEach((button) => {
331
+ const isActive = button.dataset.dev === selectedDev;
332
+ button.classList.toggle('active', isActive);
333
+ button.setAttribute('aria-pressed', String(isActive));
334
+ });
335
+ const filtered =
336
+ selectedDev === 'all'
337
+ ? currentStatsReviews
338
+ : currentStatsReviews.filter((review) => review.assignedBy === selectedDev);
339
+ drawScoreTrendChart('stats-score-trend', filtered);
340
+ };
341
+
342
+ window.recalculateStats = async function recalculateStats() {
343
+ if (!projectPath) return;
344
+ const button = document.getElementById('recalculate-btn');
345
+ if (button) button.disabled = true;
346
+ try {
347
+ const response = await fetch(`${API_URL}/api/stats/recalculate`, {
348
+ method: 'POST',
349
+ headers: { 'Content-Type': 'application/json' },
350
+ body: JSON.stringify({ path: projectPath, backfill: true }),
351
+ });
352
+ if (!response.ok) throw new Error('Recalculation failed');
353
+ window.setTimeout(() => window.location.reload(), 1500);
354
+ } catch (error) {
355
+ console.error('Error recalculating stats:', error);
356
+ if (button) button.disabled = false;
357
+ }
358
+ };
359
+
360
+ async function init() {
361
+ await loadLanguage();
362
+ renderStaticLabels();
363
+ await loadProjects();
364
+ await loadStats();
365
+ refreshIcons();
366
+ }
367
+
368
+ init();
369
+ </script>
370
+ </body>
371
+ </html>
@@ -953,8 +953,13 @@ input:focus-visible,
953
953
  .badge.running { background: rgba(245, 158, 11, 0.2); color: #f59e0b; }
954
954
  .badge.queued { background: rgba(59, 130, 246, 0.2); color: #3b82f6; }
955
955
  .badge.completed { background: rgba(34, 197, 94, 0.2); color: #22c55e; }
956
+ .badge.merged { background: rgba(34, 197, 94, 0.2); color: #22c55e; }
956
957
  .badge.failed { background: rgba(239, 68, 68, 0.2); color: #ef4444; }
957
958
 
959
+ .merged-review-row { display: flex; align-items: center; gap: 10px; padding: 8px 4px; }
960
+ .merged-review-link { color: var(--text-secondary, #9ca3af); text-decoration: none; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
961
+ .merged-review-link:hover { color: var(--text-primary, #e5e7eb); }
962
+
958
963
  .error-message {
959
964
  background: rgba(239, 68, 68, 0.1);
960
965
  border: 1px solid rgba(239, 68, 68, 0.3);
@@ -1335,7 +1340,7 @@ body.is-quiet-refresh .refresh-info::after {
1335
1340
  .stat-main {
1336
1341
  font-size: 1.55rem;
1337
1342
  font-weight: 700;
1338
- color: #ffca63;
1343
+ color: var(--accent);
1339
1344
  }
1340
1345
 
1341
1346
  .stat-denominator {
@@ -1371,7 +1376,7 @@ body.is-quiet-refresh .refresh-info::after {
1371
1376
  .metric-time .stat-main,
1372
1377
  .metric-average-time .stat-main,
1373
1378
  .metric-warnings .stat-main {
1374
- color: #ffca63;
1379
+ color: var(--accent);
1375
1380
  }
1376
1381
 
1377
1382
  .metric-reviews::before {
@@ -3182,6 +3187,7 @@ input:focus-visible,
3182
3187
  }
3183
3188
 
3184
3189
  .stats-chart-title {
3190
+ font-family: var(--font-mono);
3185
3191
  font-size: 0.72rem;
3186
3192
  font-weight: 700;
3187
3193
  text-transform: uppercase;
@@ -3206,7 +3212,7 @@ input:focus-visible,
3206
3212
 
3207
3213
  .stats-canvas-wide {
3208
3214
  width: 100%;
3209
- height: 120px;
3215
+ height: 180px;
3210
3216
  display: block;
3211
3217
  }
3212
3218
 
@@ -3221,7 +3227,7 @@ input:focus-visible,
3221
3227
 
3222
3228
  .key-insights-title {
3223
3229
  grid-column: 1 / -1;
3224
- font-family: 'JetBrains Mono', monospace;
3230
+ font-family: var(--font-mono);
3225
3231
  font-size: 0.72rem;
3226
3232
  font-weight: 700;
3227
3233
  text-transform: uppercase;
@@ -3233,7 +3239,7 @@ input:focus-visible,
3233
3239
  .key-insight-card {
3234
3240
  background: rgba(255, 255, 255, 0.02);
3235
3241
  border: 1px solid rgba(130, 170, 220, 0.08);
3236
- border-left: 2px solid #ffca63;
3242
+ border-left: 2px solid var(--accent);
3237
3243
  border-radius: 12px;
3238
3244
  padding: 0.85rem;
3239
3245
  transition: border-color 0.2s, box-shadow 0.2s;
@@ -3264,6 +3270,12 @@ input:focus-visible,
3264
3270
  padding: 0.6rem 0;
3265
3271
  }
3266
3272
 
3273
+ @media (max-width: 900px) {
3274
+ .stats-charts-row {
3275
+ grid-template-columns: 1fr;
3276
+ }
3277
+ }
3278
+
3267
3279
  @media (max-width: 640px) {
3268
3280
  .stats-charts-row {
3269
3281
  grid-template-columns: 1fr;
@@ -3284,6 +3296,7 @@ input:focus-visible,
3284
3296
  border: 1px solid rgba(130, 170, 220, 0.12);
3285
3297
  background: rgba(255, 255, 255, 0.03);
3286
3298
  color: var(--nsc-text-muted);
3299
+ font-family: var(--font-mono);
3287
3300
  font-size: 0.72rem;
3288
3301
  font-weight: 600;
3289
3302
  cursor: pointer;
@@ -4862,7 +4875,7 @@ input:focus-visible,
4862
4875
 
4863
4876
  .dashboard-tab-bar {
4864
4877
  display: flex;
4865
- flex-wrap: wrap;
4878
+ flex-wrap: nowrap;
4866
4879
  gap: 4px;
4867
4880
  padding: 0;
4868
4881
  margin: 0;
@@ -5508,7 +5521,7 @@ body.overview-tab-active .dashboard-main > *:not(#overview-section) {
5508
5521
  align-items: flex-start;
5509
5522
  gap: 1rem;
5510
5523
  margin-bottom: 1rem;
5511
- flex-wrap: nowrap;
5524
+ flex-wrap: wrap;
5512
5525
  animation: project-bar-enter 250ms ease-out;
5513
5526
  }
5514
5527
 
@@ -5526,9 +5539,11 @@ body.overview-tab-active .dashboard-main > *:not(#overview-section) {
5526
5539
  }
5527
5540
 
5528
5541
  .project-bar > #dashboard-tabs {
5529
- flex: 1 1 auto;
5542
+ flex: 0 0 100%;
5543
+ order: 10;
5530
5544
  min-width: 0;
5531
5545
  overflow-x: auto;
5546
+ margin-top: 0.75rem;
5532
5547
  }
5533
5548
 
5534
5549
  /* SPEC-178 — Scope marker label above cards */
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA+B/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAiJ3D,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2nB5F"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA+B/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAiJ3D,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsoB5F"}
@@ -184,10 +184,19 @@ export async function registerRoutes(app, deps) {
184
184
  projectConfigGateway,
185
185
  getCapacity: () => ({ running: getRunningCount(), max: getTotalCapacity() }),
186
186
  });
187
+ const removeWorktreeAction = (input) => deps.worktreeGateway.remove({
188
+ identity: input.identity,
189
+ sourceCheckoutPath: input.sourceCheckoutPath,
190
+ });
187
191
  await app.register(mrTrackingRoutes, {
188
192
  reviewRequestTrackingGateway: deps.reviewRequestTrackingGateway,
189
193
  getQualityThreshold: (projectPath) => loadProjectConfig(projectPath)?.qualityThreshold ?? null,
190
194
  statsGateway: deps.statsGateway,
195
+ reviewContextGateway: deps.reviewContextGateway,
196
+ cancelJob,
197
+ buildJobId: createJobId,
198
+ removeWorktree: removeWorktreeAction,
199
+ logger: deps.logger,
191
200
  });
192
201
  const tokenUsageGateway = new FilesystemTokenUsageGateway();
193
202
  await app.register(tokenUsageRoutes, {
@@ -416,10 +425,6 @@ export async function registerRoutes(app, deps) {
416
425
  // bound for GitLab's redelivery window.
417
426
  const WEBHOOK_IDEMPOTENCY_TTL_MS = 24 * 60 * 60 * 1000;
418
427
  const idempotencyStore = new InMemoryIdempotencyStore({ ttlMs: WEBHOOK_IDEMPOTENCY_TTL_MS });
419
- const removeWorktreeAction = (input) => deps.worktreeGateway.remove({
420
- identity: input.identity,
421
- sourceCheckoutPath: input.sourceCheckoutPath,
422
- });
423
428
  const transportGuardConfig = resolveTransportGuardConfig();
424
429
  const clientIpResolver = new ForwardedForClientIpResolver();
425
430
  app.post('/webhooks/gitlab', async (request, reply) => {
@@ -568,6 +573,11 @@ export async function registerRoutes(app, deps) {
568
573
  app.get('/setup', async (_request, reply) => {
569
574
  reply.redirect('/dashboard/setup.html');
570
575
  });
576
+ app.get('/stats', async (request, reply) => {
577
+ const path = request.query.path;
578
+ const suffix = path ? `?path=${encodeURIComponent(path)}` : '';
579
+ reply.redirect(`/dashboard/stats.html${suffix}`);
580
+ });
571
581
  const emberGroundingProjectPath = deps.config.repositories.find((repository) => repository.enabled)?.localPath ?? '';
572
582
  const emberReadData = new EmberReadDataCompositeGateway({
573
583
  statsGateway: deps.statsGateway,
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ProjectStats } from '../../../../modules/statistics-insights/entities/stats/projectStats.js';
2
- export type KeyInsightKey = 'reviewVolume' | 'dominantCategory' | 'reviewTime';
2
+ export type KeyInsightKey = 'codeVolume' | 'reviewVolume' | 'dominantCategory' | 'reviewTime';
3
3
  /**
4
4
  * A single key insight derived from recorded stats. `title` and `body` are
5
5
  * generated English narrative text; `strength` is a ranking weight (larger is
@@ -14,8 +14,9 @@ export interface KeyInsight {
14
14
  /**
15
15
  * Derive the ranked key insights from already-recorded project stats. Pure and
16
16
  * deterministic — `now` is injected so the helper never reads the wall clock.
17
- * Candidates that fail their data/threshold gate are omitted. The result is
18
- * sorted by `strength` descending and is empty when no candidate qualifies.
17
+ * Candidates that fail their data/threshold gate are omitted. Trend candidates
18
+ * are sorted by `strength` descending; the code-volume assessment is always
19
+ * pinned first when diff data exists. Empty when no candidate qualifies.
19
20
  */
20
21
  export declare function deriveKeyInsights(stats: ProjectStats, now: Date): KeyInsight[];
21
22
  //# sourceMappingURL=keyInsights.d.ts.map