@reneturcios/greenlight 0.8.2 → 0.9.1

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 (55) hide show
  1. package/README.md +49 -3
  2. package/dist/automate.js +13 -0
  3. package/dist/automate.js.map +1 -1
  4. package/dist/babysit.d.ts +73 -1
  5. package/dist/babysit.js +261 -71
  6. package/dist/babysit.js.map +1 -1
  7. package/dist/claim-health.d.ts +44 -0
  8. package/dist/claim-health.js +88 -0
  9. package/dist/claim-health.js.map +1 -0
  10. package/dist/claim-import.d.ts +59 -0
  11. package/dist/claim-import.js +164 -0
  12. package/dist/claim-import.js.map +1 -0
  13. package/dist/claims-registry.d.ts +35 -0
  14. package/dist/claims-registry.js +71 -0
  15. package/dist/claims-registry.js.map +1 -0
  16. package/dist/cli.js +187 -14
  17. package/dist/cli.js.map +1 -1
  18. package/dist/digest.d.ts +32 -1
  19. package/dist/digest.js +46 -4
  20. package/dist/digest.js.map +1 -1
  21. package/dist/doctor.js +14 -6
  22. package/dist/doctor.js.map +1 -1
  23. package/dist/gates.d.ts +1 -1
  24. package/dist/gates.js +39 -2
  25. package/dist/gates.js.map +1 -1
  26. package/dist/github.d.ts +4 -0
  27. package/dist/github.js +11 -0
  28. package/dist/github.js.map +1 -1
  29. package/dist/guard.d.ts +13 -1
  30. package/dist/guard.js +15 -1
  31. package/dist/guard.js.map +1 -1
  32. package/dist/help.js +51 -7
  33. package/dist/help.js.map +1 -1
  34. package/dist/index.js +39 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/init.js +1 -1
  37. package/dist/proxy.d.ts +50 -0
  38. package/dist/proxy.js +111 -0
  39. package/dist/proxy.js.map +1 -0
  40. package/dist/scout.d.ts +114 -0
  41. package/dist/scout.js +266 -0
  42. package/dist/scout.js.map +1 -0
  43. package/dist/triage.d.ts +23 -0
  44. package/dist/triage.js +83 -0
  45. package/dist/triage.js.map +1 -0
  46. package/dist/types.d.ts +17 -1
  47. package/dist/verdict.d.ts +15 -6
  48. package/dist/verdict.js +14 -0
  49. package/dist/verdict.js.map +1 -1
  50. package/integrations/README.md +3 -1
  51. package/integrations/claude-code/CLAUDE.snippet.md +3 -2
  52. package/integrations/cline/README.md +1 -1
  53. package/integrations/windsurf/README.md +1 -1
  54. package/package.json +1 -1
  55. package/server.json +2 -2
package/dist/babysit.js CHANGED
@@ -19,12 +19,25 @@ import { apiGet, parsePullUrl } from "./github.js";
19
19
  import { triagePr } from "./ci-triage.js";
20
20
  import { triageReview as defaultTriageReview } from "./review-triage.js";
21
21
  import { guardPr } from "./guard.js";
22
+ import { computeIssueStatus } from "./protocol-fetch.js";
23
+ import { defaultRegistryPath, loadRegistry, removeClaim, registryExists, } from "./claims-registry.js";
24
+ import { bucketClaim } from "./claim-health.js";
22
25
  import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
23
26
  import { homedir } from "node:os";
24
27
  import { dirname, join } from "node:path";
25
- export const BABYSIT_VERSION = "0.6.0";
28
+ export const BABYSIT_VERSION = "0.9.1";
26
29
  /** Checks pending longer than this are reported as stuck, not just running. */
27
30
  export const STUCK_CHECK_MINUTES = 120;
31
+ /**
32
+ * Default bound on concurrent per-PR fetches (v0.9.1): a 15-PR sweep was
33
+ * ~9 minutes serial. Override per run with BabysitRunOptions.concurrency
34
+ * or the CLI --concurrency flag.
35
+ */
36
+ export const BABYSIT_CONCURRENCY = 5;
37
+ /** How many times to attempt one PR's network reads before calling it a transient failure. */
38
+ export const BABYSIT_RETRIES = 2;
39
+ /** Base backoff between retries, scaled by attempt number (attempt * base). */
40
+ export const BABYSIT_RETRY_BACKOFF_MS = 250;
28
41
  /** Cap on discovered PRs per --mine run; the summary always states the cap. */
29
42
  export const MINE_DISCOVERY_CAP = 100;
30
43
  async function defaultFetchPr(owner, repo, number) {
@@ -143,6 +156,68 @@ export function reviewFindingId(f) {
143
156
  export function guardFlagId(check, title) {
144
157
  return `${check}|${title}`;
145
158
  }
159
+ /** Parse a linked-issue URL into the canonical "owner/repo#N" ref; null when unparseable. */
160
+ export function linkedIssueRef(url) {
161
+ const m = /github\.com\/([^/]+)\/([^/]+)\/(?:issues|pull)\/(\d+)/.exec(url);
162
+ return m ? `${m[1]}/${m[2]}#${m[3]}` : null;
163
+ }
164
+ /**
165
+ * Retry a network-shaped function. Intentionally small: babysit runs one
166
+ * logical operation per PR, and a single flaky call should not poison the
167
+ * whole sweep. Re-throws the last error after the attempts run out.
168
+ */
169
+ export async function withRetry(fn, attempts = BABYSIT_RETRIES, backoffMs = BABYSIT_RETRY_BACKOFF_MS) {
170
+ let last;
171
+ for (let i = 0; i < attempts; i++) {
172
+ try {
173
+ return await fn();
174
+ }
175
+ catch (err) {
176
+ last = err;
177
+ if (i < attempts - 1)
178
+ await new Promise((r) => setTimeout(r, backoffMs * (i + 1)));
179
+ }
180
+ }
181
+ throw last;
182
+ }
183
+ /**
184
+ * Bounded-concurrency map: runs fn over items with at most `limit` in
185
+ * flight. Order of results matches order of items.
186
+ */
187
+ export async function mapBounded(items, limit, fn) {
188
+ const out = new Array(items.length);
189
+ let next = 0;
190
+ const worker = async () => {
191
+ while (next < items.length) {
192
+ const i = next++;
193
+ out[i] = await fn(items[i]);
194
+ }
195
+ };
196
+ const workers = Array.from({ length: Math.max(1, limit) }, () => worker());
197
+ await Promise.all(workers);
198
+ return out;
199
+ }
200
+ export function classifyBabysitError(err) {
201
+ const msg = (err instanceof Error ? err.message : String(err)).toLowerCase();
202
+ // parsePullUrl throws messages like "not a GitHub pull request URL" —
203
+ // those are the caller's fault, never the network's.
204
+ if (/not a github (pull request|issue) url|could not parse|invalid url/.test(msg))
205
+ return "usage";
206
+ // A 404 on the PR itself means the PR is not there (wrong number,
207
+ // deleted); a 401 means the token is bad. Retrying either is pointless,
208
+ // and the brief scopes retries to network/5xx failures.
209
+ // The codebase's transport errors read "GitHub API {status} for {path}"
210
+ // or "HTTP {status}". A 404/401 there is permanent: wrong PR number or
211
+ // a bad token. Everything else is the network or GitHub flaking.
212
+ if (/(api|http) 404\b/.test(msg))
213
+ return "usage";
214
+ if (/(api|http) 401\b/.test(msg))
215
+ return "usage";
216
+ // Everything else is the network or GitHub flaking: retryable. 403 stays
217
+ // transient (rate limits and abuse blocks can lift; reads are unaffected
218
+ // by comment blocks), 429 and 5xx likewise.
219
+ return "transient";
220
+ }
146
221
  function minutesPending(run, now) {
147
222
  if (!run.startedAt)
148
223
  return null;
@@ -188,11 +263,30 @@ export function buildPrReport(input) {
188
263
  const newFindings = actionable.filter((f) => !seenReviews.has(reviewFindingId(f)));
189
264
  const newLikelyReal = newFindings.filter((f) => f.class === "likely-real");
190
265
  const newNeedsDecision = newFindings.filter((f) => f.class === "needs-decision");
191
- // New guard flags since the watermark.
266
+ // New guard flags since the watermark (v0.9.1 subject routing).
267
+ // A flag raises needs-you only when it is about THIS PR (subject "pr"),
268
+ // or about one of the PR's own linked issues (subject "issue" with a
269
+ // matching issueRef). Flags about other issues or repo-wide signals go
270
+ // to repoNotes, informational only. Field case: actual #9250's repo had
271
+ // "Competing fix for #123" flags pinned on the wrong PR.
192
272
  const seenFlags = new Set(watermark?.seenGuardFlags ?? []);
193
- const newGuardFlags = guard.findings
194
- .filter((f) => f.severity === "flag" && !seenFlags.has(guardFlagId(f.check, f.title)))
195
- .map((f) => f.title);
273
+ const ownIssues = new Set(guard.linkedIssues.map((i) => linkedIssueRef(i.url)).filter((s) => s !== null));
274
+ const newGuardFlags = [];
275
+ const repoNotes = [];
276
+ for (const f of guard.findings) {
277
+ if (f.severity !== "flag")
278
+ continue;
279
+ const id = guardFlagId(f.check, f.title);
280
+ if (seenFlags.has(id))
281
+ continue;
282
+ const subject = f.subject ?? "pr"; // pre-v0.9.1 fixtures had no subject: old behavior
283
+ if (subject === "pr" || (subject === "issue" && f.issueRef !== undefined && ownIssues.has(f.issueRef))) {
284
+ newGuardFlags.push(f.title);
285
+ }
286
+ else {
287
+ repoNotes.push(`${f.title} (about ${f.issueRef ?? "the repo"}, not this PR)`);
288
+ }
289
+ }
196
290
  const conflicts = pr.mergeable === false || pr.mergeableState === "dirty";
197
291
  const tag = `${pr.owner}/${pr.repo}#${pr.number}`;
198
292
  const add = (urgency, text, next) => {
@@ -267,6 +361,7 @@ export function buildPrReport(input) {
267
361
  newLikelyReal,
268
362
  newNeedsDecision,
269
363
  newGuardFlags,
364
+ repoNotes,
270
365
  guardSummary: guard.summary,
271
366
  actions,
272
367
  };
@@ -282,9 +377,19 @@ export function watermarkFromReport(report, review, guard, now) {
282
377
  checkedAt: now.toISOString(),
283
378
  };
284
379
  }
380
+ async function defaultComputeStatus(owner, repo, number) {
381
+ const { status, snapshot } = await computeIssueStatus(owner, repo, number);
382
+ return { status, issueUpdatedAt: snapshot.updatedAt ?? null };
383
+ }
285
384
  function renderMarkdown(reports, run) {
286
385
  const lines = [];
287
- lines.push(`**PR babysitter: ${run.needsYouNow.length} need you now, ${run.waitingOnThem.length} waiting, ${run.quiet.length} quiet** (${run.prsChecked} PRs checked)`);
386
+ if (run.claimsOnly) {
387
+ lines.push(`**Claims babysitter: ${run.claims.length} active claims** (${run.retiredClaims.length} retired this run)`);
388
+ }
389
+ else {
390
+ const unchecked = run.transientFailures.length > 0 ? `, ${run.transientFailures.length} could not check` : "";
391
+ lines.push(`**PR babysitter: ${run.needsYouNow.length} need you now, ${run.waitingOnThem.length} waiting, ${run.quiet.length} quiet${unchecked}** (${run.prsChecked} PRs checked)`);
392
+ }
288
393
  if (run.firstRun)
289
394
  lines.push("_First run: no watermarks yet, so this is the full picture. Reruns report what changed since the last check._");
290
395
  lines.push("");
@@ -310,6 +415,53 @@ function renderMarkdown(reports, run) {
310
415
  for (const q of run.quiet)
311
416
  lines.push(`- ${q}`);
312
417
  lines.push("");
418
+ // v0.9.1: transient failures are their own section, never mixed into
419
+ // needs-you or waiting. A PR here was not observed: its watermark is
420
+ // unchanged, so the next run reports it as if this run never happened.
421
+ if (run.transientFailures.length > 0) {
422
+ lines.push(`## Could not check (transient)`);
423
+ for (const f of run.transientFailures) {
424
+ const next = f.errorKind === "usage" ? "Check the URL and rerun." : "Rerun; transient failures never update watermarks and never appear as findings.";
425
+ lines.push(`- **${f.pr}** — ${f.detail}`);
426
+ lines.push(` Next: ${next}`);
427
+ }
428
+ lines.push("");
429
+ }
430
+ // v0.9.1: guard flags about other issues or the repo at large, filed
431
+ // here informational only. They never raise needs-you.
432
+ if (run.repoNotes.length > 0) {
433
+ lines.push(`## Repo notes (informational)`);
434
+ for (const n of run.repoNotes)
435
+ lines.push(`- ${n}`);
436
+ lines.push("");
437
+ }
438
+ // Claims section (v0.9.0): the operator's registered claims, bucketed.
439
+ if (run.claimsRegistryMissing) {
440
+ lines.push("## My claims");
441
+ lines.push("_No claims registry yet: `greenlight claim --register <issue-url>` records one._");
442
+ lines.push("");
443
+ }
444
+ else if (run.claims.length > 0 || run.retiredClaims.length > 0) {
445
+ lines.push(`## My claims (${run.claims.length} active)`);
446
+ const order = ["linked", "queue-lost", "expiring", "heartbeat-due", "unlinked-stale", "healthy-active"];
447
+ for (const bucket of order) {
448
+ const group = run.claims.filter((c) => c.bucket === bucket);
449
+ if (group.length === 0)
450
+ continue;
451
+ lines.push(`### ${bucket}`);
452
+ for (const c of group) {
453
+ if (c.error)
454
+ lines.push(`- ${c.claim.issueUrl} — could not read status: ${c.error}`);
455
+ else
456
+ lines.push(`- ${c.detail}${c.prUrl ? ` (${c.prUrl})` : ""}`);
457
+ }
458
+ lines.push("");
459
+ }
460
+ for (const r of run.retiredClaims)
461
+ lines.push(`_${r}_`);
462
+ if (run.retiredClaims.length > 0)
463
+ lines.push("");
464
+ }
313
465
  for (const r of reports) {
314
466
  if (r.headChanged)
315
467
  lines.push(`_${r.pr}: new head ${r.headSha.slice(0, 7)} since the last check._`);
@@ -346,8 +498,14 @@ export async function babysit(opts) {
346
498
  needsYouNow: [],
347
499
  waitingOnThem: [],
348
500
  quiet: [],
501
+ transientFailures: [],
502
+ repoNotes: [],
349
503
  firstRun,
350
504
  prsChecked: 0,
505
+ claims: [],
506
+ retiredClaims: [],
507
+ claimsRegistryMissing: true,
508
+ claimsOnly: false,
351
509
  markdown: `**PR babysitter: could not discover PRs** — ${err instanceof Error ? err.message : String(err)}`,
352
510
  json: { error: err instanceof Error ? err.message : String(err) },
353
511
  };
@@ -355,63 +513,65 @@ export async function babysit(opts) {
355
513
  }
356
514
  }
357
515
  const reports = [];
516
+ const transientFailures = [];
358
517
  const fetchPr = deps.fetchPr ?? defaultFetchPr;
359
518
  const fetchCheckRuns = deps.fetchCheckRuns ?? defaultFetchCheckRuns;
360
519
  const triageCi = deps.triageCi ?? triagePr;
361
520
  const triageReview = deps.triageReview ?? defaultTriageReview;
362
521
  const guard = deps.guard ?? guardPr;
363
- for (const prUrl of prUrls) {
522
+ const concurrency = opts.concurrency ?? BABYSIT_CONCURRENCY;
523
+ const emptyReport = (tag, owner, repo, number) => ({
524
+ pr: tag, owner, repo, number, title: "", author: "",
525
+ headSha: "", headChanged: false,
526
+ conflicts: false, mergeableState: null,
527
+ ciVerdict: "INDETERMINATE",
528
+ yoursFailing: [], pendingChecks: [], stuckChecks: [],
529
+ newLikelyReal: [], newNeedsDecision: [], newGuardFlags: [], repoNotes: [],
530
+ guardSummary: "",
531
+ actions: [],
532
+ });
533
+ /** One PR through the pipeline, retried on transient failures. Never throws. */
534
+ const checkOnePr = async (prUrl) => {
535
+ let owner = "";
536
+ let repo = "";
537
+ let number = 0;
538
+ try {
539
+ ({ owner, repo, number } = parsePullUrl(prUrl));
540
+ }
541
+ catch (err) {
542
+ transientFailures.push({
543
+ pr: prUrl,
544
+ errorKind: classifyBabysitError(err),
545
+ detail: `Not a GitHub PR URL: ${err instanceof Error ? err.message : String(err)}`,
546
+ });
547
+ return;
548
+ }
549
+ const tag = watermarkKey(owner, repo, number);
364
550
  try {
365
- const { owner, repo, number } = parsePullUrl(prUrl);
366
- const pr = await fetchPr(owner, repo, number);
551
+ // Fetch the PR itself, retried: a flaky call should not poison the
552
+ // run, and an unobserved PR must never update its watermark.
553
+ const pr = await withRetry(() => fetchPr(owner, repo, number));
367
554
  if (pr.state !== "open") {
368
555
  // A closed or merged PR is done being babysat: it lands on the
369
556
  // quiet list with its resolution, and its watermark is retired so a
370
557
  // reopen shows up as a fresh full picture.
371
558
  const resolution = pr.state === "merged" ? "merged" : "closed";
372
- const tag = watermarkKey(owner, repo, number);
373
- reports.push({
374
- pr: tag, owner, repo, number,
375
- title: pr.title, author: pr.author,
376
- headSha: pr.headSha, headChanged: false,
377
- resolution,
378
- conflicts: false, mergeableState: null,
379
- ciVerdict: "INDETERMINATE",
380
- yoursFailing: [], pendingChecks: [], stuckChecks: [],
381
- newLikelyReal: [], newNeedsDecision: [], newGuardFlags: [],
382
- guardSummary: "",
383
- actions: [],
384
- });
559
+ const r = emptyReport(tag, owner, repo, number);
560
+ r.title = pr.title;
561
+ r.author = pr.author;
562
+ r.headSha = pr.headSha;
563
+ r.resolution = resolution;
564
+ reports.push(r);
385
565
  delete state.watermarks[tag];
386
- continue;
387
- }
388
- const [checkRuns, ci, review, guardResult] = await Promise.all([
389
- fetchCheckRuns(owner, repo, pr.headSha).catch(() => []),
390
- triageCi(prUrl).catch(() => null),
391
- triageReview(prUrl).catch(() => null),
392
- guard(prUrl).catch(() => null),
393
- ]);
394
- if (!ci || !review || !guardResult) {
395
- reports.push({
396
- pr: watermarkKey(owner, repo, number),
397
- owner, repo, number,
398
- title: pr.title, author: pr.author,
399
- headSha: pr.headSha, headChanged: false,
400
- conflicts: false, mergeableState: pr.mergeableState,
401
- ciVerdict: "INDETERMINATE",
402
- yoursFailing: [], pendingChecks: [], stuckChecks: [],
403
- newLikelyReal: [], newNeedsDecision: [], newGuardFlags: [],
404
- guardSummary: "",
405
- actions: [{
406
- urgency: "waiting",
407
- pr: watermarkKey(owner, repo, number),
408
- text: "Could not read this PR's signals this run (API hiccup)",
409
- next: "Rerun the babysitter; this is a transient gap, not a finding.",
410
- }],
411
- });
412
- continue;
566
+ return;
413
567
  }
414
- const key = watermarkKey(owner, repo, number);
568
+ const headSha = pr.headSha;
569
+ const [checkRuns, ci, review, guardResult] = await withRetry(() => Promise.all([
570
+ fetchCheckRuns(owner, repo, headSha),
571
+ triageCi(prUrl),
572
+ triageReview(prUrl),
573
+ guard(prUrl),
574
+ ]));
415
575
  const report = buildPrReport({
416
576
  prUrl,
417
577
  pr,
@@ -419,32 +579,26 @@ export async function babysit(opts) {
419
579
  ci,
420
580
  review,
421
581
  guard: guardResult,
422
- watermark: state.watermarks[key] ?? null,
582
+ watermark: state.watermarks[tag] ?? null,
423
583
  now,
424
584
  });
425
585
  reports.push(report);
426
- state.watermarks[key] = watermarkFromReport(report, review, guardResult, now);
586
+ state.watermarks[tag] = watermarkFromReport(report, review, guardResult, now);
427
587
  }
428
588
  catch (err) {
429
- const tag = prUrl;
430
- reports.push({
431
- pr: tag, owner: "", repo: "", number: 0,
432
- title: "", author: "",
433
- headSha: "", headChanged: false,
434
- conflicts: false, mergeableState: null,
435
- ciVerdict: "INDETERMINATE",
436
- yoursFailing: [], pendingChecks: [], stuckChecks: [],
437
- newLikelyReal: [], newNeedsDecision: [], newGuardFlags: [],
438
- guardSummary: "",
439
- actions: [{
440
- urgency: "waiting",
441
- pr: tag,
442
- text: `Could not check this PR: ${err instanceof Error ? err.message : String(err)}`,
443
- next: "Check the URL and rerun.",
444
- }],
589
+ // After retries, the PR was not observed: no watermark change, no
590
+ // finding. It lands in the transient section with its error kind.
591
+ const kind = classifyBabysitError(err);
592
+ transientFailures.push({
593
+ pr: tag,
594
+ errorKind: kind,
595
+ detail: kind === "usage"
596
+ ? `Not a GitHub PR URL: ${err instanceof Error ? err.message : String(err)}`
597
+ : `Could not read this PR's signals after ${BABYSIT_RETRIES} attempts: ${err instanceof Error ? err.message : String(err)}`,
445
598
  });
446
599
  }
447
- }
600
+ };
601
+ await mapBounded(prUrls, concurrency, checkOnePr);
448
602
  saveState(statePath, state);
449
603
  const needsYouNow = reports.flatMap((r) => r.actions.filter((a) => a.urgency === "now"));
450
604
  const waitingOnThem = reports.flatMap((r) => r.actions.filter((a) => a.urgency === "waiting"));
@@ -454,8 +608,40 @@ export async function babysit(opts) {
454
608
  .map((r) => r.resolution
455
609
  ? `${r.pr} "${r.title}" — ${r.resolution} since the last check`
456
610
  : `${r.pr} "${r.title}" — nothing needs you`);
611
+ const repoNotes = [...new Set(reports.flatMap((r) => r.repoNotes))];
612
+ // Claims section (v0.9.0): bucket every registered claim by its live
613
+ // protocol status. Claims whose issue resolved (merged/closed issue, a
614
+ // completed protocol claim, a released claim) retire from the registry.
615
+ const computeStatus = deps.computeStatus ?? defaultComputeStatus;
616
+ const registryPath = opts.claimsRegistryPath ?? defaultRegistryPath();
617
+ const claimsRegistryMissing = !registryExists(registryPath);
618
+ const claims = [];
619
+ const retiredClaims = [];
620
+ if (!claimsRegistryMissing) {
621
+ for (const claimEntry of loadRegistry(registryPath).claims) {
622
+ try {
623
+ const { status, issueUpdatedAt } = await computeStatus(claimEntry.owner, claimEntry.repo, claimEntry.number);
624
+ const claimState = status.claim?.state;
625
+ if (claimState === "completed" || claimState === "released") {
626
+ // A completed or released claim is done: retire it.
627
+ if (removeClaim(registryPath, claimEntry.issueUrl)) {
628
+ retiredClaims.push(`${claimEntry.owner}/${claimEntry.repo}#${claimEntry.number} "${claimEntry.issueUrl}" — claim ${claimState ?? "resolved"}; retired from the registry`);
629
+ }
630
+ continue;
631
+ }
632
+ const h = bucketClaim({ claim: claimEntry, status, issueUpdatedAt, now });
633
+ claims.push({ claim: claimEntry, bucket: h.bucket, detail: h.detail, prUrl: h.prUrl });
634
+ }
635
+ catch (err) {
636
+ claims.push({ claim: claimEntry, bucket: "healthy-active", detail: "", error: err instanceof Error ? err.message : String(err) });
637
+ }
638
+ }
639
+ }
457
640
  const partial = {
458
- reports, needsYouNow, waitingOnThem, quiet, firstRun, prsChecked: reports.length,
641
+ reports, needsYouNow, waitingOnThem, quiet,
642
+ transientFailures, repoNotes,
643
+ firstRun, prsChecked: reports.length + transientFailures.length,
644
+ claims, retiredClaims, claimsRegistryMissing, claimsOnly: opts.claimsOnly ?? false,
459
645
  };
460
646
  const markdown = renderMarkdown(reports, partial);
461
647
  const json = {
@@ -464,13 +650,17 @@ export async function babysit(opts) {
464
650
  needsYouNow: needsYouNow.map((a) => ({ pr: a.pr, text: a.text, next: a.next })),
465
651
  waitingOnThem: waitingOnThem.map((a) => ({ pr: a.pr, text: a.text, next: a.next })),
466
652
  quiet,
653
+ transientFailures: transientFailures.map((f) => ({ pr: f.pr, errorKind: f.errorKind, detail: f.detail })),
654
+ repoNotes,
655
+ claims: claims.map((c) => ({ issue: c.claim.issueUrl, bucket: c.bucket, detail: c.detail, prUrl: c.prUrl ?? null, error: c.error ?? null })),
656
+ retiredClaims,
467
657
  reports: reports.map((r) => ({
468
658
  pr: r.pr, title: r.title, headSha: r.headSha, headChanged: r.headChanged,
469
659
  conflicts: r.conflicts, ciVerdict: r.ciVerdict,
470
660
  yoursFailing: r.yoursFailing, pendingChecks: r.pendingChecks, stuckChecks: r.stuckChecks,
471
661
  newLikelyReal: r.newLikelyReal.map((f) => f.summary),
472
662
  newNeedsDecision: r.newNeedsDecision.map((f) => f.summary),
473
- newGuardFlags: r.newGuardFlags, guardSummary: r.guardSummary,
663
+ newGuardFlags: r.newGuardFlags, repoNotes: r.repoNotes, guardSummary: r.guardSummary,
474
664
  })),
475
665
  };
476
666
  return { ...partial, markdown, json };
@@ -1 +1 @@
1
- {"version":3,"file":"babysit.js","sourceRoot":"","sources":["../src/babysit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"babysit.js","sourceRoot":"","sources":["../src/babysit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Claims babysitting (Greenlight v0.9.0): for every claim in the my-claims
3
+ * registry, run the issue's protocol status and bucket what it says into
4
+ * one of six buckets.
5
+ *
6
+ * Buckets (in priority order):
7
+ * linked — a PR is open against the claim: the work is with the
8
+ * maintainer; fine, no action.
9
+ * queue-lost — someone ahead completed, the claim expired, or the
10
+ * issue's active claim belongs to someone else: the
11
+ * claim no longer owns the work.
12
+ * expiring — the lease has under 48h left: renew or land the PR.
13
+ * unlinked-stale — 72h since the claim with no PR ever linked: the
14
+ * claim is talk, not work.
15
+ * heartbeat-due — the lease is past half with no activity on the
16
+ * issue: post a progress note before the lease dies.
17
+ * healthy-active — none of the above: the claim is alive and on pace.
18
+ *
19
+ * Pure: every network-shaped input comes in on the argument, so fixtures
20
+ * plus mocked status responses prove the bucketing.
21
+ */
22
+ import type { IssueStatusPayload } from "./protocol.js";
23
+ import type { MyClaim } from "./claims-registry.js";
24
+ export type ClaimBucket = "linked" | "healthy-active" | "heartbeat-due" | "expiring" | "unlinked-stale" | "queue-lost";
25
+ /** "No activity" window for the unlinked-stale bucket. */
26
+ export declare const UNLINKED_STALE_HOURS = 72;
27
+ /** Lease-remaining threshold for the expiring bucket. */
28
+ export declare const EXPIRING_HOURS = 48;
29
+ export interface ClaimHealthInput {
30
+ claim: MyClaim;
31
+ /** Protocol status for the claimed issue. */
32
+ status: IssueStatusPayload;
33
+ /** The issue's updated_at (null when unreadable): heartbeat evidence. */
34
+ issueUpdatedAt: string | null;
35
+ now?: Date;
36
+ }
37
+ export interface ClaimHealth {
38
+ bucket: ClaimBucket;
39
+ /** One short line explaining the bucket, for the babysit report. */
40
+ detail: string;
41
+ /** The PR URL behind a linked bucket, when known. */
42
+ prUrl?: string;
43
+ }
44
+ export declare function bucketClaim(input: ClaimHealthInput): ClaimHealth;