vibe-squire 2.0.0 → 2.2.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 (70) hide show
  1. package/dist/generated/prisma/browser.d.ts +1 -0
  2. package/dist/generated/prisma/client.d.ts +1 -0
  3. package/dist/generated/prisma/internal/class.d.ts +3 -0
  4. package/dist/generated/prisma/internal/class.js +4 -4
  5. package/dist/generated/prisma/internal/class.js.map +1 -1
  6. package/dist/generated/prisma/internal/prismaNamespace.d.ts +85 -1
  7. package/dist/generated/prisma/internal/prismaNamespace.js +10 -2
  8. package/dist/generated/prisma/internal/prismaNamespace.js.map +1 -1
  9. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +9 -0
  10. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +10 -2
  11. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js.map +1 -1
  12. package/dist/generated/prisma/models/DeclinedPullRequest.d.ts +342 -0
  13. package/dist/generated/prisma/models/DeclinedPullRequest.js +3 -0
  14. package/dist/generated/prisma/models/DeclinedPullRequest.js.map +1 -0
  15. package/dist/generated/prisma/models/PollRun.d.ts +77 -1
  16. package/dist/generated/prisma/models.d.ts +1 -0
  17. package/dist/settings/core-settings-group.service.d.ts +2 -0
  18. package/dist/settings/core-settings.schema.d.ts +4 -0
  19. package/dist/settings/core-settings.schema.js +19 -14
  20. package/dist/settings/core-settings.schema.js.map +1 -1
  21. package/dist/settings/core-settings.service.d.ts +1 -0
  22. package/dist/settings/core-settings.service.js +3 -0
  23. package/dist/settings/core-settings.service.js.map +1 -1
  24. package/dist/sync/poll-cycle/ensure-issue-for-pr.d.ts +1 -0
  25. package/dist/sync/poll-cycle/ensure-issue-for-pr.js +9 -0
  26. package/dist/sync/poll-cycle/ensure-issue-for-pr.js.map +1 -1
  27. package/dist/sync/poll-cycle/ensure-issue-outcome.d.ts +4 -0
  28. package/dist/sync/poll-cycle/finalize-successful-poll-cycle.d.ts +2 -0
  29. package/dist/sync/poll-cycle/finalize-successful-poll-cycle.js +15 -4
  30. package/dist/sync/poll-cycle/finalize-successful-poll-cycle.js.map +1 -1
  31. package/dist/sync/poll-cycle/process-poll-candidates.d.ts +2 -0
  32. package/dist/sync/poll-cycle/process-poll-candidates.js +16 -0
  33. package/dist/sync/poll-cycle/process-poll-candidates.js.map +1 -1
  34. package/dist/sync/poll-cycle/reconcile-removed-sync-rows.js +14 -0
  35. package/dist/sync/poll-cycle/reconcile-removed-sync-rows.js.map +1 -1
  36. package/dist/sync/poll-run-decisions.d.ts +2 -0
  37. package/dist/sync/poll-run-decisions.js +2 -0
  38. package/dist/sync/poll-run-decisions.js.map +1 -1
  39. package/dist/sync/poll-run-history.service.d.ts +4 -0
  40. package/dist/sync/poll-run-history.service.js +2 -0
  41. package/dist/sync/poll-run-history.service.js.map +1 -1
  42. package/dist/sync/poll-run-labels.js +2 -0
  43. package/dist/sync/poll-run-labels.js.map +1 -1
  44. package/dist/sync/pr-triage.controller.d.ts +18 -0
  45. package/dist/sync/pr-triage.controller.js +121 -0
  46. package/dist/sync/pr-triage.controller.js.map +1 -0
  47. package/dist/sync/pr-triage.service.d.ts +22 -0
  48. package/dist/sync/pr-triage.service.js +132 -0
  49. package/dist/sync/pr-triage.service.js.map +1 -0
  50. package/dist/sync/run-poll-cycle.service.js +6 -1
  51. package/dist/sync/run-poll-cycle.service.js.map +1 -1
  52. package/dist/sync/sync.module.js +4 -1
  53. package/dist/sync/sync.module.js.map +1 -1
  54. package/dist/tsconfig.build.tsbuildinfo +1 -1
  55. package/dist/ui/activity-api.controller.d.ts +2 -0
  56. package/dist/ui/integration-ui-registry.js +1 -0
  57. package/dist/ui/integration-ui-registry.js.map +1 -1
  58. package/dist/ui/public/operator-activity.js +103 -3
  59. package/dist/ui/public/operator.css +15 -0
  60. package/dist/ui/setting-labels.js +1 -0
  61. package/dist/ui/setting-labels.js.map +1 -1
  62. package/dist/ui/ui-presenter.d.ts +2 -0
  63. package/dist/ui/ui-presenter.js +2 -0
  64. package/dist/ui/ui-presenter.js.map +1 -1
  65. package/dist/ui/ui.controller.js +2 -0
  66. package/dist/ui/ui.controller.js.map +1 -1
  67. package/dist/ui/views/settings.hbs +26 -2
  68. package/package.json +1 -1
  69. package/prisma/migrations/20260406120000_triage_mode/migration.sql +13 -0
  70. package/prisma/schema.prisma +10 -1
@@ -20,6 +20,8 @@ export declare class ActivityApiController {
20
20
  skippedBoardLimit: number | null;
21
21
  skippedAlreadyTracked: number | null;
22
22
  skippedLinkedExisting: number | null;
23
+ skippedTriage: number | null;
24
+ skippedDeclined: number | null;
23
25
  itemCount: number;
24
26
  items: Array<{
25
27
  prUrl: string;
@@ -6,6 +6,7 @@ const vk_settings_schema_1 = require("../integrations/vibe-kanban/vk-settings.sc
6
6
  Object.defineProperty(exports, "VIBE_KANBAN_UI_KEYS", { enumerable: true, get: function () { return vk_settings_schema_1.VIBE_KANBAN_UI_KEYS; } });
7
7
  exports.SCHEDULER_UI_KEYS = [
8
8
  'scheduled_sync_enabled',
9
+ 'auto_create_issues',
9
10
  'poll_interval_minutes',
10
11
  'jitter_max_seconds',
11
12
  'run_now_cooldown_seconds',
@@ -1 +1 @@
1
- {"version":3,"file":"integration-ui-registry.js","sourceRoot":"","sources":["../../src/ui/integration-ui-registry.ts"],"names":[],"mappings":";;;AA4BA,0DAEC;AA9BD,uFAAqF;AAyB5E,oGAzBA,wCAAmB,OAyBA;AAtBf,QAAA,iBAAiB,GAAsB;IAClD,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,oBAAoB;CACrB,CAAC;AAGW,QAAA,yBAAyB,GAAsB;IAC1D,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,oBAAoB;CACrB,CAAC;AAGW,QAAA,qBAAqB,GAAsB;IACtD,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC;AAKF,SAAgB,uBAAuB;IACrC,OAAO,yBAAiB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"integration-ui-registry.js","sourceRoot":"","sources":["../../src/ui/integration-ui-registry.ts"],"names":[],"mappings":";;;AA6BA,0DAEC;AA/BD,uFAAqF;AA0B5E,oGA1BA,wCAAmB,OA0BA;AAvBf,QAAA,iBAAiB,GAAsB;IAClD,wBAAwB;IACxB,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,oBAAoB;CACrB,CAAC;AAGW,QAAA,yBAAyB,GAAsB;IAC1D,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,oBAAoB;CACrB,CAAC;AAGW,QAAA,qBAAqB,GAAsB;IACtD,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC;AAKF,SAAgB,uBAAuB;IACrC,OAAO,yBAAiB,CAAC;AAC3B,CAAC"}
@@ -13,9 +13,60 @@
13
13
  return v == null ? '—' : String(v);
14
14
  }
15
15
 
16
+ var TRIAGEABLE_DECISIONS = {
17
+ skipped_triage: true,
18
+ skipped_board_limit: true,
19
+ };
20
+
21
+ function isTriageable(decision) {
22
+ return TRIAGEABLE_DECISIONS[decision] === true;
23
+ }
24
+
25
+ function triageSortKey(it) {
26
+ if (isTriageable(it.decision)) return 0;
27
+ if (it.decision === 'skipped_declined') return 1;
28
+ return 2;
29
+ }
30
+
31
+ function sortItemsForTriage(items) {
32
+ return items.slice().sort(function (a, b) {
33
+ var ka = triageSortKey(a);
34
+ var kb = triageSortKey(b);
35
+ if (ka !== kb) return ka - kb;
36
+ return (a.prNumber || 0) - (b.prNumber || 0);
37
+ });
38
+ }
39
+
40
+ function triageActionButtons(it) {
41
+ var url = esc(it.prUrl);
42
+ if (isTriageable(it.decision)) {
43
+ return (
44
+ '<div class="triage-actions" style="margin-top:0.3rem">' +
45
+ '<button class="btn btn-sm primary js-triage-accept" data-pr-url="' +
46
+ url +
47
+ '">Review</button> ' +
48
+ '<button class="btn btn-sm ghost js-triage-decline" data-pr-url="' +
49
+ url +
50
+ '">Decline</button>' +
51
+ '</div>'
52
+ );
53
+ }
54
+ if (it.decision === 'skipped_declined') {
55
+ return (
56
+ '<div class="triage-actions" style="margin-top:0.3rem">' +
57
+ '<button class="btn btn-sm ghost js-triage-reconsider" data-pr-url="' +
58
+ url +
59
+ '">Reconsider</button>' +
60
+ '</div>'
61
+ );
62
+ }
63
+ return '';
64
+ }
65
+
16
66
  function renderItemsTable(items) {
17
67
  if (!items || !items.length) return '';
18
- var rows = items
68
+ var sorted = sortItemsForTriage(items);
69
+ var rows = sorted
19
70
  .map(function (it) {
20
71
  var detailParts = [];
21
72
  if (it.kanbanIssueId) {
@@ -35,8 +86,15 @@
35
86
  '<div class="muted" style="font-size:0.8rem">@' +
36
87
  esc(it.authorLogin) +
37
88
  '</div>';
89
+ var rowClass = isTriageable(it.decision)
90
+ ? ' class="triage-pending-row"'
91
+ : it.decision === 'skipped_declined'
92
+ ? ' class="triage-declined-row"'
93
+ : '';
38
94
  return (
39
- '<tr>' +
95
+ '<tr' +
96
+ rowClass +
97
+ '>' +
40
98
  '<td class="mono">' +
41
99
  '<a href="' +
42
100
  esc(it.prUrl) +
@@ -53,6 +111,7 @@
53
111
  '</td>' +
54
112
  '<td>' +
55
113
  esc(it.decisionLabel) +
114
+ triageActionButtons(it) +
56
115
  '</td>' +
57
116
  '<td class="wrap muted">' +
58
117
  detail +
@@ -113,7 +172,14 @@
113
172
  fmtCount(r.skippedAlreadyTracked) +
114
173
  ' already tracked · ' +
115
174
  fmtCount(r.skippedLinkedExisting) +
116
- ' linked existing</p>';
175
+ ' linked existing' +
176
+ (r.skippedTriage
177
+ ? ' · ' + fmtCount(r.skippedTriage) + ' pending triage'
178
+ : '') +
179
+ (r.skippedDeclined
180
+ ? ' · ' + fmtCount(r.skippedDeclined) + ' declined'
181
+ : '') +
182
+ '</p>';
117
183
  }
118
184
  if (r.phase === 'aborted') {
119
185
  summaryBody +=
@@ -215,6 +281,40 @@
215
281
  }
216
282
  }
217
283
 
284
+ function triageAction(endpoint, prUrl, btn) {
285
+ btn.disabled = true;
286
+ fetch('/api/pr/' + endpoint, {
287
+ method: 'POST',
288
+ headers: { 'Content-Type': 'application/json' },
289
+ body: JSON.stringify({ prUrl: prUrl }),
290
+ })
291
+ .then(function (res) {
292
+ if (!res.ok) throw new Error('HTTP ' + res.status);
293
+ void load();
294
+ })
295
+ .catch(function () {
296
+ btn.disabled = false;
297
+ });
298
+ }
299
+
300
+ root.addEventListener('click', function (e) {
301
+ var btn = e.target.closest('.js-triage-accept');
302
+ if (btn) {
303
+ triageAction('accept', btn.getAttribute('data-pr-url'), btn);
304
+ return;
305
+ }
306
+ btn = e.target.closest('.js-triage-decline');
307
+ if (btn) {
308
+ triageAction('decline', btn.getAttribute('data-pr-url'), btn);
309
+ return;
310
+ }
311
+ btn = e.target.closest('.js-triage-reconsider');
312
+ if (btn) {
313
+ triageAction('reconsider', btn.getAttribute('data-pr-url'), btn);
314
+ return;
315
+ }
316
+ });
317
+
218
318
  Ui.onStatusSnapshot(function () {
219
319
  void load();
220
320
  });
@@ -704,3 +704,18 @@ textarea.input {
704
704
  margin-top: 0.2rem;
705
705
  max-width: 28rem;
706
706
  }
707
+
708
+ /* Triage rows */
709
+ .triage-pending-row {
710
+ background: rgba(61, 159, 122, 0.06);
711
+ }
712
+
713
+ .triage-declined-row {
714
+ opacity: 0.55;
715
+ }
716
+
717
+ .triage-actions {
718
+ display: flex;
719
+ gap: 0.35rem;
720
+ flex-wrap: wrap;
721
+ }
@@ -6,6 +6,7 @@ exports.integrationFieldsForUi = integrationFieldsForUi;
6
6
  const integration_ui_registry_1 = require("./integration-ui-registry");
7
7
  exports.SETTING_LABELS = {
8
8
  scheduled_sync_enabled: 'Automatic polling — timer runs on the interval below. Manual Sync now always works. Override: VIBE_SQUIRE_SCHEDULED_SYNC_ENABLED',
9
+ auto_create_issues: 'Create Kanban issues automatically for matching PRs. When off, PRs appear in triage only until you promote them. Override: VIBE_SQUIRE_AUTO_CREATE_ISSUES',
9
10
  poll_interval_minutes: 'Poll interval (minutes, min 5; manual Sync now ignores)',
10
11
  jitter_max_seconds: 'Jitter max (seconds)',
11
12
  run_now_cooldown_seconds: 'Run-now cooldown (seconds)',
@@ -1 +1 @@
1
- {"version":3,"file":"setting-labels.js","sourceRoot":"","sources":["../../src/ui/setting-labels.ts"],"names":[],"mappings":";;;AA0BA,4DAQC;AAED,wDASC;AA7CD,uEAAsE;AAEzD,QAAA,cAAc,GAA2B;IACpD,sBAAsB,EACpB,kIAAkI;IACpI,qBAAqB,EACnB,yDAAyD;IAC3D,kBAAkB,EAAE,sBAAsB;IAC1C,wBAAwB,EAAE,4BAA4B;IACtD,kBAAkB,EAChB,qGAAqG;IACvG,uBAAuB,EACrB,0EAA0E;IAC5E,kBAAkB,EAChB,qEAAqE;IACvE,qBAAqB,EACnB,+DAA+D;IACjE,kBAAkB,EAAE,2BAA2B;IAC/C,uBAAuB,EACrB,4EAA4E;IAC9E,uBAAuB,EAAE,yBAAyB;CACnD,CAAC;AAKF,SAAgB,wBAAwB,CACtC,MAA8B;IAE9B,OAAO,mDAAyB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG;QACH,KAAK,EAAE,sBAAc,CAAC,GAAG,CAAC,IAAI,GAAG;QACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAAuB,EACvB,MAA8B;IAE9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,GAAG;QACH,KAAK,EAAE,sBAAc,CAAC,GAAG,CAAC,IAAI,GAAG;QACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;KACzB,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"setting-labels.js","sourceRoot":"","sources":["../../src/ui/setting-labels.ts"],"names":[],"mappings":";;;AA4BA,4DAQC;AAED,wDASC;AA/CD,uEAAsE;AAEzD,QAAA,cAAc,GAA2B;IACpD,sBAAsB,EACpB,kIAAkI;IACpI,kBAAkB,EAChB,2JAA2J;IAC7J,qBAAqB,EACnB,yDAAyD;IAC3D,kBAAkB,EAAE,sBAAsB;IAC1C,wBAAwB,EAAE,4BAA4B;IACtD,kBAAkB,EAChB,qGAAqG;IACvG,uBAAuB,EACrB,0EAA0E;IAC5E,kBAAkB,EAChB,qEAAqE;IACvE,qBAAqB,EACnB,+DAA+D;IACjE,kBAAkB,EAAE,2BAA2B;IAC/C,uBAAuB,EACrB,4EAA4E;IAC9E,uBAAuB,EAAE,yBAAyB;CACnD,CAAC;AAKF,SAAgB,wBAAwB,CACtC,MAA8B;IAE9B,OAAO,mDAAyB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG;QACH,KAAK,EAAE,sBAAc,CAAC,GAAG,CAAC,IAAI,GAAG;QACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAAuB,EACvB,MAA8B;IAE9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,GAAG;QACH,KAAK,EAAE,sBAAc,CAAC,GAAG,CAAC,IAAI,GAAG;QACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;KACzB,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -19,6 +19,8 @@ export declare function presentActivityRunsForView(rows: PollRunRowForActivity[]
19
19
  skippedBoardLimit: number | null;
20
20
  skippedAlreadyTracked: number | null;
21
21
  skippedLinkedExisting: number | null;
22
+ skippedTriage: number | null;
23
+ skippedDeclined: number | null;
22
24
  itemCount: number;
23
25
  items: Array<{
24
26
  prUrl: string;
@@ -36,6 +36,8 @@ function presentActivityRunsForView(rows) {
36
36
  skippedBoardLimit: r.skippedBoardLimit,
37
37
  skippedAlreadyTracked: r.skippedAlreadyTracked,
38
38
  skippedLinkedExisting: r.skippedLinkedExisting,
39
+ skippedTriage: r.skippedTriage,
40
+ skippedDeclined: r.skippedDeclined,
39
41
  itemCount: r.items.length,
40
42
  items: r.items.map((i) => ({
41
43
  prUrl: i.prUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"ui-presenter.js","sourceRoot":"","sources":["../../src/ui/ui-presenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-presenter.js","sourceRoot":"","sources":["../../src/ui/ui-presenter.ts"],"names":[],"mappings":"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"}
@@ -69,10 +69,12 @@ let UiController = class UiController {
69
69
  const values = this.settings.listEffectiveNonSecret();
70
70
  const ev = await this.setupEvaluation.evaluate();
71
71
  const scheduledSyncEnabled = this.coreSettings.scheduledSyncEnabled;
72
+ const autoCreateIssues = this.coreSettings.autoCreateIssues;
72
73
  return {
73
74
  ...(0, ui_presenter_1.uiNavLocals)(this.uiNav.getEntries()),
74
75
  fields: (0, setting_labels_1.schedulerTextFieldsForUi)(values),
75
76
  scheduledSyncEnabled,
77
+ autoCreateIssues,
76
78
  saved: saved === '1',
77
79
  error: err ? decodeURIComponent(err) : null,
78
80
  resolvedSourceLabel: (0, ui_presenter_1.sourceTypeLabel)(ev.sourceType),
@@ -1 +1 @@
1
- {"version":3,"file":"ui.controller.js","sourceRoot":"","sources":["../../src/ui/ui.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.controller.js","sourceRoot":"","sources":["../../src/ui/ui.controller.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  <div class="banner banner-error">{{error}}</div>
9
9
  {{/if}}
10
10
  {{#if saved}}
11
- <div class="banner banner-ok">Poll schedule saved. Scheduler refreshed if the interval changed.</div>
11
+ <div class="banner banner-ok">Settings saved. Scheduler refreshed if the interval changed.</div>
12
12
  {{/if}}
13
13
 
14
14
  <div class="card">
@@ -51,6 +51,30 @@
51
51
  <span>Off — timer disabled only</span>
52
52
  </label>
53
53
  </fieldset>
54
+ <fieldset class="fieldset-plain" style="margin-top: 1rem">
55
+ <legend class="field-label">Kanban issue creation</legend>
56
+ <p class="muted" style="margin: 0 0 0.75rem 0">
57
+ When off, matching PRs stay in triage until you create an issue from the operator UI. Env: <code>VIBE_SQUIRE_AUTO_CREATE_ISSUES</code>. Setting key: <code>auto_create_issues</code>
58
+ </p>
59
+ <label class="check-row">
60
+ <input
61
+ type="radio"
62
+ name="auto_create_issues"
63
+ value="true"
64
+ {{#if autoCreateIssues}}checked{{/if}}
65
+ />
66
+ <span>On — create board issues during sync when caps allow</span>
67
+ </label>
68
+ <label class="check-row">
69
+ <input
70
+ type="radio"
71
+ name="auto_create_issues"
72
+ value="false"
73
+ {{#unless autoCreateIssues}}checked{{/unless}}
74
+ />
75
+ <span>Off — triage only (no automatic issue creation)</span>
76
+ </label>
77
+ </fieldset>
54
78
  <div class="form-grid" style="margin-top: 1rem">
55
79
  {{#each fields}}
56
80
  <label class="field">
@@ -61,7 +85,7 @@
61
85
  {{/each}}
62
86
  </div>
63
87
  <div class="actions-row">
64
- <button type="submit" class="btn primary">Save schedule</button>
88
+ <button type="submit" class="btn primary">Save settings</button>
65
89
  </div>
66
90
  </form>
67
91
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-squire",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "Local orchestrator: GitHub PR review queue → Vibe Kanban via MCP",
5
5
  "author": "alexpialetski",
6
6
  "license": "MIT",
@@ -0,0 +1,13 @@
1
+ -- CreateTable
2
+ CREATE TABLE "DeclinedPullRequest" (
3
+ "id" TEXT NOT NULL PRIMARY KEY,
4
+ "prUrl" TEXT NOT NULL,
5
+ "declinedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
6
+ );
7
+
8
+ -- CreateIndex
9
+ CREATE UNIQUE INDEX "DeclinedPullRequest_prUrl_key" ON "DeclinedPullRequest"("prUrl");
10
+
11
+ -- AlterTable: add triage counters to PollRun
12
+ ALTER TABLE "PollRun" ADD COLUMN "skippedTriage" INTEGER;
13
+ ALTER TABLE "PollRun" ADD COLUMN "skippedDeclined" INTEGER;
@@ -60,6 +60,8 @@ model PollRun {
60
60
  skippedBoardLimit Int?
61
61
  skippedAlreadyTracked Int?
62
62
  skippedLinkedExisting Int?
63
+ skippedTriage Int?
64
+ skippedDeclined Int?
63
65
  items PollRunItem[]
64
66
 
65
67
  @@index([startedAt(sort: Desc)])
@@ -75,7 +77,7 @@ model PollRunItem {
75
77
  prNumber Int
76
78
  prTitle String
77
79
  authorLogin String?
78
- /// created | already_tracked | linked_existing | skipped_unmapped | skipped_bot | skipped_board_limit
80
+ /// created | already_tracked | linked_existing | skipped_unmapped | skipped_bot | skipped_board_limit | skipped_triage | skipped_declined
79
81
  decision String
80
82
  detail String?
81
83
  kanbanIssueId String?
@@ -83,6 +85,13 @@ model PollRunItem {
83
85
  @@index([runId])
84
86
  }
85
87
 
88
+ /// PRs the operator explicitly declined in triage mode (suppressed until PR leaves scout results).
89
+ model DeclinedPullRequest {
90
+ id String @id @default(cuid())
91
+ prUrl String @unique
92
+ declinedAt DateTime @default(now())
93
+ }
94
+
86
95
  /// Tracks Kanban issues created for a GitHub PR (dedupe + reconciliation when PR leaves review queue).
87
96
  model SyncedPullRequest {
88
97
  id String @id @default(cuid())