@urateam/core 0.1.47 → 0.1.48

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 (100) hide show
  1. package/dist/__tests__/audit-reader-triage-quality.test.d.ts +2 -0
  2. package/dist/__tests__/audit-reader-triage-quality.test.d.ts.map +1 -0
  3. package/dist/__tests__/audit-reader-triage-quality.test.js +144 -0
  4. package/dist/__tests__/audit-reader-triage-quality.test.js.map +1 -0
  5. package/dist/__tests__/cost/aggregate.test.js +27 -14
  6. package/dist/__tests__/cost/aggregate.test.js.map +1 -1
  7. package/dist/__tests__/cost-defensive.test.js +5 -5
  8. package/dist/__tests__/cost-defensive.test.js.map +1 -1
  9. package/dist/__tests__/cost-integration.test.js +2 -2
  10. package/dist/__tests__/cost-integration.test.js.map +1 -1
  11. package/dist/__tests__/cost-license.test.js +2 -1
  12. package/dist/__tests__/cost-license.test.js.map +1 -1
  13. package/dist/__tests__/gitlab.test.js +1 -58
  14. package/dist/__tests__/gitlab.test.js.map +1 -1
  15. package/dist/__tests__/openrouter-client.test.js +32 -0
  16. package/dist/__tests__/openrouter-client.test.js.map +1 -1
  17. package/dist/__tests__/pm-escalation.test.js +5 -2
  18. package/dist/__tests__/pm-escalation.test.js.map +1 -1
  19. package/dist/__tests__/pm-slack.test.js +256 -0
  20. package/dist/__tests__/pm-slack.test.js.map +1 -1
  21. package/dist/__tests__/pr-description.test.js +139 -0
  22. package/dist/__tests__/pr-description.test.js.map +1 -1
  23. package/dist/__tests__/security.test.js +0 -35
  24. package/dist/__tests__/security.test.js.map +1 -1
  25. package/dist/__tests__/tier-6e-escape-hatch.test.d.ts +2 -0
  26. package/dist/__tests__/tier-6e-escape-hatch.test.d.ts.map +1 -0
  27. package/dist/__tests__/tier-6e-escape-hatch.test.js +63 -0
  28. package/dist/__tests__/tier-6e-escape-hatch.test.js.map +1 -0
  29. package/dist/audit/index.d.ts +1 -0
  30. package/dist/audit/index.d.ts.map +1 -1
  31. package/dist/audit/index.js +1 -0
  32. package/dist/audit/index.js.map +1 -1
  33. package/dist/audit/triage-quality-reader.d.ts +34 -0
  34. package/dist/audit/triage-quality-reader.d.ts.map +1 -0
  35. package/dist/audit/triage-quality-reader.js +59 -0
  36. package/dist/audit/triage-quality-reader.js.map +1 -0
  37. package/dist/cost/aggregate.d.ts +0 -7
  38. package/dist/cost/aggregate.d.ts.map +1 -1
  39. package/dist/cost/aggregate.js +61 -49
  40. package/dist/cost/aggregate.js.map +1 -1
  41. package/dist/executor/review/openrouter-fanout.d.ts +1 -0
  42. package/dist/executor/review/openrouter-fanout.d.ts.map +1 -1
  43. package/dist/executor/review/openrouter-fanout.js +15 -21
  44. package/dist/executor/review/openrouter-fanout.js.map +1 -1
  45. package/dist/executor/review/review-provider.js +5 -1
  46. package/dist/executor/review/review-provider.js.map +1 -1
  47. package/dist/index.d.ts +1 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/pipeline/pr-description.d.ts +32 -6
  51. package/dist/pipeline/pr-description.d.ts.map +1 -1
  52. package/dist/pipeline/pr-description.js +25 -7
  53. package/dist/pipeline/pr-description.js.map +1 -1
  54. package/dist/pipeline/runner.d.ts.map +1 -1
  55. package/dist/pipeline/runner.js +42 -36
  56. package/dist/pipeline/runner.js.map +1 -1
  57. package/dist/pm/actions/db-queries.d.ts +2 -0
  58. package/dist/pm/actions/db-queries.d.ts.map +1 -1
  59. package/dist/pm/actions/db-queries.js +69 -0
  60. package/dist/pm/actions/db-queries.js.map +1 -1
  61. package/dist/pm/actions/promote.d.ts.map +1 -1
  62. package/dist/pm/actions/promote.js +2 -3
  63. package/dist/pm/actions/promote.js.map +1 -1
  64. package/dist/pm/scheduler.d.ts +1 -1
  65. package/dist/pm/scheduler.d.ts.map +1 -1
  66. package/dist/pm/scheduler.js +29 -11
  67. package/dist/pm/scheduler.js.map +1 -1
  68. package/dist/pm/slack.d.ts +1 -1
  69. package/dist/pm/slack.d.ts.map +1 -1
  70. package/dist/pm/slack.js +23 -1
  71. package/dist/pm/slack.js.map +1 -1
  72. package/dist/pm/triage-prediction-quality.d.ts +9 -0
  73. package/dist/pm/triage-prediction-quality.d.ts.map +1 -1
  74. package/dist/pm/triage-prediction-quality.js +16 -5
  75. package/dist/pm/triage-prediction-quality.js.map +1 -1
  76. package/dist/pm/types.d.ts +22 -0
  77. package/dist/pm/types.d.ts.map +1 -1
  78. package/dist/repo/devcontainer.d.ts +0 -8
  79. package/dist/repo/devcontainer.d.ts.map +1 -1
  80. package/dist/repo/devcontainer.js +0 -18
  81. package/dist/repo/devcontainer.js.map +1 -1
  82. package/dist/repo/gitlab.js +1 -1
  83. package/dist/repo/gitlab.js.map +1 -1
  84. package/dist/security/index.d.ts +0 -1
  85. package/dist/security/index.d.ts.map +1 -1
  86. package/dist/security/index.js +0 -1
  87. package/dist/security/index.js.map +1 -1
  88. package/dist/security/sandbox.d.ts +1 -6
  89. package/dist/security/sandbox.d.ts.map +1 -1
  90. package/dist/security/sandbox.js +3 -36
  91. package/dist/security/sandbox.js.map +1 -1
  92. package/dist/types.d.ts +9 -17
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/types.js +10 -10
  95. package/dist/types.js.map +1 -1
  96. package/dist/util/strings.d.ts +14 -0
  97. package/dist/util/strings.d.ts.map +1 -0
  98. package/dist/util/strings.js +20 -0
  99. package/dist/util/strings.js.map +1 -0
  100. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-client.test.js","sourceRoot":"","sources":["../../src/__tests__/openrouter-client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter-client.test.js","sourceRoot":"","sources":["../../src/__tests__/openrouter-client.test.ts"],"names":[],"mappings":"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"}
@@ -147,8 +147,11 @@ describe("Tier 5 — escalation fires when circuit breaker trips on a non-escala
147
147
  getLastError: vi.fn().mockResolvedValue(longError),
148
148
  });
149
149
  const commentBody = linearClient.createComment.mock.calls[0][0].body;
150
- // Body contains the truncated form with a trailing ellipsis.
151
- expect(commentBody).toMatch(/x{500}…/);
150
+ // Body contains the truncated form (499 chars + ellipsis = 500 total) with
151
+ // a trailing ellipsis. Matches truncateWithEllipsis(text, 500) semantics:
152
+ // result.length ≤ maxLen.
153
+ expect(commentBody).toMatch(/x{499}…/);
154
+ expect(commentBody).not.toMatch(/x{500}x/);
152
155
  expect(commentBody).not.toMatch(/x{1000}/);
153
156
  });
154
157
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pm-escalation.test.js","sourceRoot":"","sources":["../../src/__tests__/pm-escalation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pm-escalation.test.js","sourceRoot":"","sources":["../../src/__tests__/pm-escalation.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { describe, it, expect, vi, beforeEach } from "vitest";
2
2
  import { PmSlackNotifier } from "../pm/slack.js";
3
+ import { fetchCircuitBrokenIssues } from "../pm/actions/db-queries.js";
3
4
  const mockFetch = vi.fn().mockResolvedValue({
4
5
  ok: true,
5
6
  json: () => Promise.resolve({ ok: true, ts: "1234567890.123456" }),
@@ -116,5 +117,260 @@ describe("PmSlackNotifier", () => {
116
117
  const result = await notifier.checkApprovalReactions("1234567890.123456");
117
118
  expect(result).toBe("rejected");
118
119
  });
120
+ // BEC-223 — Circuit-Broken Issues section in digest
121
+ it("omits circuit-broken section when circuitBrokenIssues is empty", async () => {
122
+ const tick = {
123
+ ...emptyTick(),
124
+ triaged: [{ issueId: "BEC-1", priority: 2, labels: ["bug"], complexity: "small", rationale: "test", acceptanceCriteria: [] }],
125
+ circuitBrokenIssues: [],
126
+ };
127
+ await notifier.postDigest(tick, 3);
128
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
129
+ const text = body.blocks[0].text.text;
130
+ expect(text).not.toContain("Circuit-Broken");
131
+ });
132
+ it("omits circuit-broken section when circuitBrokenIssues is absent", async () => {
133
+ const tick = {
134
+ ...emptyTick(),
135
+ triaged: [{ issueId: "BEC-1", priority: 2, labels: ["bug"], complexity: "small", rationale: "test", acceptanceCriteria: [] }],
136
+ };
137
+ await notifier.postDigest(tick, 3);
138
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
139
+ const text = body.blocks[0].text.text;
140
+ expect(text).not.toContain("Circuit-Broken");
141
+ });
142
+ it("renders circuit-broken section for one broken issue", async () => {
143
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
144
+ const broken = {
145
+ issueId: "BEC-99",
146
+ issueTitle: "Fix the authentication bug",
147
+ errorMessage: "auth token expired",
148
+ failedAt,
149
+ url: "https://linear.app/test/issue/BEC-99",
150
+ };
151
+ const tick = {
152
+ ...emptyTick(),
153
+ circuitBrokenIssues: [broken],
154
+ };
155
+ await notifier.postDigest(tick, 3);
156
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
157
+ const text = body.blocks[0].text.text;
158
+ expect(text).toContain("Circuit-Broken Issues");
159
+ expect(text).toContain("<https://linear.app/test/issue/BEC-99|BEC-99>");
160
+ expect(text).toContain("Fix the authentication bug");
161
+ expect(text).toContain("auth token expired");
162
+ expect(text).toContain("2024-06-15 10:30:00 UTC");
163
+ });
164
+ it("renders circuit-broken identifier without link when url is absent", async () => {
165
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
166
+ const broken = {
167
+ issueId: "BEC-99",
168
+ issueTitle: "Fix the authentication bug",
169
+ errorMessage: "auth token expired",
170
+ failedAt,
171
+ };
172
+ const tick = {
173
+ ...emptyTick(),
174
+ circuitBrokenIssues: [broken],
175
+ };
176
+ await notifier.postDigest(tick, 3);
177
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
178
+ const text = body.blocks[0].text.text;
179
+ expect(text).toContain("BEC-99");
180
+ expect(text).not.toContain("<https://");
181
+ });
182
+ it("truncates title to 80 chars with ellipsis in circuit-broken section", async () => {
183
+ const longTitle = "A".repeat(100);
184
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
185
+ const broken = {
186
+ issueId: "BEC-99",
187
+ issueTitle: longTitle,
188
+ failedAt,
189
+ };
190
+ const tick = {
191
+ ...emptyTick(),
192
+ circuitBrokenIssues: [broken],
193
+ };
194
+ await notifier.postDigest(tick, 3);
195
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
196
+ const text = body.blocks[0].text.text;
197
+ // Title truncated to 79 chars + ellipsis = 80 chars displayed
198
+ expect(text).toContain("A".repeat(79) + "…");
199
+ expect(text).not.toContain("A".repeat(100));
200
+ });
201
+ it("truncates error_message to 200 chars with ellipsis in circuit-broken section", async () => {
202
+ const longError = "E".repeat(250);
203
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
204
+ const broken = {
205
+ issueId: "BEC-99",
206
+ issueTitle: "Short title",
207
+ errorMessage: longError,
208
+ failedAt,
209
+ };
210
+ const tick = {
211
+ ...emptyTick(),
212
+ circuitBrokenIssues: [broken],
213
+ };
214
+ await notifier.postDigest(tick, 3);
215
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
216
+ const text = body.blocks[0].text.text;
217
+ expect(text).toContain("E".repeat(199) + "…");
218
+ expect(text).not.toContain("E".repeat(250));
219
+ });
220
+ it("caps circuit-broken section at 10 issues and appends overflow count", async () => {
221
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
222
+ const issues = Array.from({ length: 13 }, (_, i) => ({
223
+ issueId: `BEC-${100 + i}`,
224
+ issueTitle: `Issue ${i + 1}`,
225
+ failedAt,
226
+ }));
227
+ const tick = {
228
+ ...emptyTick(),
229
+ circuitBrokenIssues: issues,
230
+ };
231
+ await notifier.postDigest(tick, 3);
232
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
233
+ const text = body.blocks[0].text.text;
234
+ // First 10 issues shown
235
+ expect(text).toContain("BEC-100");
236
+ expect(text).toContain("BEC-109");
237
+ // 11th and beyond not shown as entries
238
+ expect(text).not.toContain("BEC-110");
239
+ // Overflow footer
240
+ expect(text).toContain("_+3 more_");
241
+ });
242
+ it("uses configurable minConsecutiveFailures in circuit-broken section header", async () => {
243
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
244
+ const broken = {
245
+ issueId: "BEC-99",
246
+ issueTitle: "Fix the authentication bug",
247
+ failedAt,
248
+ };
249
+ const tick = {
250
+ ...emptyTick(),
251
+ circuitBrokenIssues: [broken],
252
+ };
253
+ await notifier.postDigest(tick, 3, 5);
254
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
255
+ const text = body.blocks[0].text.text;
256
+ expect(text).toContain("≥5 consecutive failures");
257
+ expect(text).not.toContain("≥3 consecutive failures");
258
+ });
259
+ it("excludes recovered issues (section omitted when all pass batchCountConsecutiveFailures=0)", async () => {
260
+ // Simulate the case where fetchCircuitBrokenIssues returns [] because
261
+ // batchCountConsecutiveFailures returned 0 for all candidates (recovered).
262
+ // At the postDigest level this is identical to the empty-array case.
263
+ const tick = {
264
+ ...emptyTick(),
265
+ triaged: [{ issueId: "BEC-5", priority: 2, labels: ["bug"], complexity: "small", rationale: "ok", acceptanceCriteria: [] }],
266
+ circuitBrokenIssues: [], // recovered issue was filtered out by fetchCircuitBrokenIssues
267
+ };
268
+ await notifier.postDigest(tick, 3);
269
+ const body = JSON.parse(mockFetch.mock.calls[0][1].body);
270
+ const text = body.blocks[0].text.text;
271
+ expect(text).not.toContain("Circuit-Broken");
272
+ });
273
+ });
274
+ // BEC-223 — fetchCircuitBrokenIssues unit tests
275
+ describe("fetchCircuitBrokenIssues", () => {
276
+ // Helper: build a select-from-where-orderBy[-limit] chain that resolves to
277
+ // `rows`. `fetchCircuitBrokenIssues`'s first query terminates in `.limit()`,
278
+ // while `batchCountConsecutiveFailures` terminates in `.orderBy()`. We
279
+ // make both terminals resolve to the same rows so the same builder can be
280
+ // used for both call sites.
281
+ function mockQuery(rows) {
282
+ const terminal = {
283
+ limit: vi.fn().mockResolvedValue(rows),
284
+ then: (onFulfilled, onRejected) => Promise.resolve(rows).then(onFulfilled, onRejected),
285
+ };
286
+ return {
287
+ from: vi.fn().mockReturnValue({
288
+ where: vi.fn().mockReturnValue({
289
+ orderBy: vi.fn().mockReturnValue(terminal),
290
+ }),
291
+ }),
292
+ };
293
+ }
294
+ it("returns empty array when no failed runs in window", async () => {
295
+ const mockDb = {
296
+ select: vi.fn().mockReturnValue(mockQuery([])),
297
+ };
298
+ const result = await fetchCircuitBrokenIssues(mockDb, 3, 7);
299
+ expect(result).toEqual([]);
300
+ });
301
+ it("returns broken issue when consecutive failure count meets threshold", async () => {
302
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
303
+ // First select() call: the failed-runs-in-window query
304
+ // Second select() call: batchCountConsecutiveFailures
305
+ const mockDb = {
306
+ select: vi.fn()
307
+ .mockReturnValueOnce(mockQuery([
308
+ {
309
+ issueId: "BEC-42",
310
+ issueTitle: "Broken issue",
311
+ errorMessage: "some error",
312
+ startedAt: failedAt,
313
+ completedAt: failedAt,
314
+ },
315
+ ]))
316
+ .mockReturnValueOnce(mockQuery([
317
+ { issueId: "BEC-42", status: "failed" },
318
+ { issueId: "BEC-42", status: "failed" },
319
+ { issueId: "BEC-42", status: "failed" },
320
+ ])),
321
+ };
322
+ const result = await fetchCircuitBrokenIssues(mockDb, 3, 7);
323
+ expect(result).toHaveLength(1);
324
+ expect(result[0].issueId).toBe("BEC-42");
325
+ expect(result[0].issueTitle).toBe("Broken issue");
326
+ expect(result[0].errorMessage).toBe("some error");
327
+ });
328
+ it("excludes issue whose most-recent terminal run is completed (batchCount returns 0)", async () => {
329
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
330
+ const mockDb = {
331
+ select: vi.fn()
332
+ .mockReturnValueOnce(mockQuery([
333
+ {
334
+ issueId: "BEC-42",
335
+ issueTitle: "Recovered issue",
336
+ errorMessage: "old error",
337
+ startedAt: failedAt,
338
+ completedAt: failedAt,
339
+ },
340
+ ]))
341
+ // batchCountConsecutiveFailures: most recent terminal run is 'completed'
342
+ .mockReturnValueOnce(mockQuery([
343
+ { issueId: "BEC-42", status: "completed" }, // most recent is completed → recovered
344
+ { issueId: "BEC-42", status: "failed" },
345
+ { issueId: "BEC-42", status: "failed" },
346
+ ])),
347
+ };
348
+ const result = await fetchCircuitBrokenIssues(mockDb, 3, 7);
349
+ // Issue had a failed run in the window but its most-recent terminal run is 'completed' → excluded
350
+ expect(result).toHaveLength(0);
351
+ });
352
+ it("excludes issue with fewer consecutive failures than threshold", async () => {
353
+ const failedAt = new Date("2024-06-15T10:30:00.000Z");
354
+ const mockDb = {
355
+ select: vi.fn()
356
+ .mockReturnValueOnce(mockQuery([
357
+ {
358
+ issueId: "BEC-42",
359
+ issueTitle: "Partially failing issue",
360
+ errorMessage: "some error",
361
+ startedAt: failedAt,
362
+ completedAt: null,
363
+ },
364
+ ]))
365
+ // Only 2 consecutive failures — below the threshold of 3
366
+ .mockReturnValueOnce(mockQuery([
367
+ { issueId: "BEC-42", status: "failed" },
368
+ { issueId: "BEC-42", status: "failed" },
369
+ { issueId: "BEC-42", status: "completed" },
370
+ ])),
371
+ };
372
+ const result = await fetchCircuitBrokenIssues(mockDb, 3, 7);
373
+ expect(result).toHaveLength(0);
374
+ });
119
375
  });
120
376
  //# sourceMappingURL=pm-slack.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pm-slack.test.js","sourceRoot":"","sources":["../../src/__tests__/pm-slack.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pm-slack.test.js","sourceRoot":"","sources":["../../src/__tests__/pm-slack.test.ts"],"names":[],"mappings":"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"}
@@ -775,5 +775,144 @@ describe("PR Description Enrichment (BEC-83)", () => {
775
775
  expect(body.trim().length).toBeGreaterThan(0);
776
776
  });
777
777
  });
778
+ // =========================================================================
779
+ // 10. Triage Quality Section (BEC-220)
780
+ // =========================================================================
781
+ describe("Triage Quality section (BEC-220)", () => {
782
+ const baseHandoff = {
783
+ summary: "Implemented feature.",
784
+ filesChanged: ["src/feature.ts", "src/feature.test.ts"],
785
+ approach: "test",
786
+ context: { issueIntent: "test", constraints: [], assumptions: [] },
787
+ tokenBudget: { contextTokensUsed: 10000, recommendedMaxTurns: 10 },
788
+ };
789
+ it("renders ## Triage Quality section when hasV2Prediction=true and intersection > 0 with missed/unexpected", () => {
790
+ const triageQuality = {
791
+ hasV2Prediction: true,
792
+ predicted: 5,
793
+ actual: 4,
794
+ intersection: 3,
795
+ missed: ["file-a.ts"],
796
+ unexpected: ["file-b.ts"],
797
+ };
798
+ const body = generatePRDescription({
799
+ handoff: baseHandoff,
800
+ issueId: "BEC-220",
801
+ triageQuality,
802
+ });
803
+ expect(body).toContain("## Triage Quality");
804
+ expect(body).toContain("- Predicted: 5 files");
805
+ expect(body).toContain("- Actual: 4 files");
806
+ expect(body).toContain("- Intersection: 3 files");
807
+ expect(body).toContain("- Missed: `file-a.ts`");
808
+ expect(body).toContain("- Unexpected: `file-b.ts`");
809
+ // Section is between ## Test plan and ## Commits / Resolves
810
+ const testPlanIdx = body.indexOf("## Test plan");
811
+ const triageIdx = body.indexOf("## Triage Quality");
812
+ const resolvesIdx = body.indexOf("Resolves");
813
+ expect(testPlanIdx).toBeLessThan(triageIdx);
814
+ expect(triageIdx).toBeLessThan(resolvesIdx);
815
+ });
816
+ it("renders ## Triage Quality section when intersection = 0 and missed/unexpected lists are empty", () => {
817
+ const triageQuality = {
818
+ hasV2Prediction: true,
819
+ predicted: 10,
820
+ actual: 2,
821
+ intersection: 0,
822
+ missed: [],
823
+ unexpected: [],
824
+ };
825
+ const body = generatePRDescription({
826
+ handoff: baseHandoff,
827
+ issueId: "BEC-220",
828
+ triageQuality,
829
+ });
830
+ expect(body).toContain("## Triage Quality");
831
+ expect(body).toContain("- Predicted: 10 files");
832
+ expect(body).toContain("- Actual: 2 files");
833
+ expect(body).toContain("- Intersection: 0 files");
834
+ // Missed and Unexpected lines must not appear
835
+ expect(body).not.toContain("- Missed:");
836
+ expect(body).not.toContain("- Unexpected:");
837
+ });
838
+ it("omits ## Triage Quality section entirely when hasV2Prediction=false (triage v1 path)", () => {
839
+ const triageQuality = {
840
+ hasV2Prediction: false,
841
+ predicted: 0,
842
+ actual: 3,
843
+ intersection: 0,
844
+ missed: [],
845
+ unexpected: ["file-x.ts", "file-y.ts"],
846
+ };
847
+ const body = generatePRDescription({
848
+ handoff: baseHandoff,
849
+ issueId: "BEC-220",
850
+ triageQuality,
851
+ });
852
+ expect(body).not.toContain("## Triage Quality");
853
+ expect(body).not.toContain("Predicted:");
854
+ expect(body).not.toContain("Actual:");
855
+ expect(body).not.toContain("Intersection:");
856
+ // Body must still be valid markdown
857
+ expect(body).toContain("## Summary");
858
+ expect(body).toContain("## Test plan");
859
+ expect(body).toContain("Resolves BEC-220");
860
+ });
861
+ it("omits ## Triage Quality section entirely when triageQuality is undefined (event missing)", () => {
862
+ const body = generatePRDescription({
863
+ handoff: baseHandoff,
864
+ issueId: "BEC-220",
865
+ // triageQuality intentionally omitted
866
+ });
867
+ expect(body).not.toContain("## Triage Quality");
868
+ expect(body).not.toContain("Predicted:");
869
+ // Body must still be valid markdown with all standard sections
870
+ expect(body).toContain("## Summary");
871
+ expect(body).toContain("## Changes");
872
+ expect(body).toContain("## Test plan");
873
+ expect(body).toContain("Resolves BEC-220");
874
+ });
875
+ it("places ## Triage Quality between ## Test plan and ## Commits", () => {
876
+ const triageQuality = {
877
+ hasV2Prediction: true,
878
+ predicted: 3,
879
+ actual: 3,
880
+ intersection: 3,
881
+ missed: [],
882
+ unexpected: [],
883
+ };
884
+ const body = generatePRDescription({
885
+ handoff: baseHandoff,
886
+ issueId: "BEC-220",
887
+ triageQuality,
888
+ agentCommits: ["feat: add feature"],
889
+ });
890
+ const testPlanIdx = body.indexOf("## Test plan");
891
+ const triageIdx = body.indexOf("## Triage Quality");
892
+ const commitsIdx = body.indexOf("## Commits");
893
+ const resolvesIdx = body.indexOf("Resolves");
894
+ expect(testPlanIdx).toBeLessThan(triageIdx);
895
+ expect(triageIdx).toBeLessThan(commitsIdx);
896
+ expect(commitsIdx).toBeLessThan(resolvesIdx);
897
+ });
898
+ it("handles multiple missed and unexpected files correctly", () => {
899
+ const triageQuality = {
900
+ hasV2Prediction: true,
901
+ predicted: 7,
902
+ actual: 5,
903
+ intersection: 3,
904
+ missed: ["src/a.ts", "src/b.ts", "src/c.ts"],
905
+ unexpected: ["src/x.ts", "src/y.ts"],
906
+ };
907
+ const body = generatePRDescription({
908
+ handoff: baseHandoff,
909
+ issueId: "BEC-220",
910
+ triageQuality,
911
+ });
912
+ expect(body).toContain("## Triage Quality");
913
+ expect(body).toContain("- Missed: `src/a.ts`, `src/b.ts`, `src/c.ts`");
914
+ expect(body).toContain("- Unexpected: `src/x.ts`, `src/y.ts`");
915
+ });
916
+ });
778
917
  });
779
918
  //# sourceMappingURL=pr-description.test.js.map