@reneturcios/greenlight 0.9.0 → 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.
- package/README.md +22 -1
- package/dist/babysit.d.ts +45 -1
- package/dist/babysit.js +187 -71
- package/dist/babysit.js.map +1 -1
- package/dist/claim-import.d.ts +59 -0
- package/dist/claim-import.js +164 -0
- package/dist/claim-import.js.map +1 -0
- package/dist/cli.js +76 -5
- package/dist/cli.js.map +1 -1
- package/dist/doctor.js +14 -6
- package/dist/doctor.js.map +1 -1
- package/dist/guard.d.ts +13 -1
- package/dist/guard.js +15 -1
- package/dist/guard.js.map +1 -1
- package/dist/help.js +19 -4
- package/dist/help.js.map +1 -1
- package/dist/index.js +39 -1
- package/dist/index.js.map +1 -1
- package/dist/init.js +1 -1
- package/dist/proxy.d.ts +50 -0
- package/dist/proxy.js +111 -0
- package/dist/proxy.js.map +1 -0
- package/integrations/README.md +3 -1
- package/integrations/claude-code/CLAUDE.snippet.md +3 -2
- package/integrations/cline/README.md +1 -1
- package/integrations/windsurf/README.md +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ One command sets it up:
|
|
|
12
12
|
npx @reneturcios/greenlight init --agent claude-code
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
(also `cursor`, `copilot`, `windsurf`, `cline`; repeat `--agent` for more than one). Init copies the MCP config into your project and installs the workflow instruction snippet that teaches your agent the one behavior rule: **check Greenlight before it opens a PR.** Prefer doing it by hand? The [`integrations/`](integrations/README.md) drop-in pack has ready-to-copy MCP configs plus the same snippets. Then verify with a "list your MCP tools" prompt; the greenlight server carries
|
|
15
|
+
(also `cursor`, `copilot`, `windsurf`, `cline`; repeat `--agent` for more than one). Init copies the MCP config into your project and installs the workflow instruction snippet that teaches your agent the one behavior rule: **check Greenlight before it opens a PR.** Prefer doing it by hand? The [`integrations/`](integrations/README.md) drop-in pack has ready-to-copy MCP configs plus the same snippets. Then verify with a "list your MCP tools" prompt; the greenlight server carries 17 tools (check_issue, scan_repo, repo_friction, claim_issue, prep_issue, open_pr, ci_triage, review_triage, guard_pr, repo_digest, claim_status, preflight, verify_comment, babysit_prs, evidence_pack, scout_campaign, my_claims).
|
|
16
16
|
|
|
17
17
|
## The problem
|
|
18
18
|
|
|
@@ -290,6 +290,27 @@ greenlight scout --repos acme/widgets,acme/gadgets --campaign campaign.json --wr
|
|
|
290
290
|
greenlight babysit --claims-only
|
|
291
291
|
```
|
|
292
292
|
|
|
293
|
+
### v0.9.1: the trust patch
|
|
294
|
+
|
|
295
|
+
A full day of dogfooding at portfolio scale (43 open PRs) found five fidelity problems, all fixed here. No new features, no new surface area beyond the repair.
|
|
296
|
+
|
|
297
|
+
**Babysit speed and honest failures.** Per-PR fetching is now parallel with a bounded concurrency (default 5, `--concurrency N` to override): a 15-PR sweep drops from ~9 minutes toward ~2. Each PR's reads get 2 attempts with a short backoff; a PR that still cannot be observed lands in a new `Could not check (transient)` section with its error kind (`transient` vs `usage`), never in needs-you or waiting, and its watermark is untouched so the next run reports it as if this run never happened.
|
|
298
|
+
|
|
299
|
+
**Guard flag subjects.** Every guard flag now carries a `subject`: `pr` (this PR's own diff, e.g. missing artifacts), `issue` (one of the PR's linked issues, e.g. a competing fix, with a canonical `owner/repo#N` `issueRef`), or `repo` (repo-wide signal). Babysit raises needs-you only for subject `pr`, and for subject `issue` when the issue is the PR's own linked issue; everything else collects into a `Repo notes` section, informational only. Field case: a babysit run on actual #9250 once reported "17 new things: Competing fix for #123" that belonged to other PRs in the repo; that shape now produces zero needs-you items from guard.
|
|
300
|
+
|
|
301
|
+
**Claim registry import.** `greenlight claim --import --ledger-user <github-login>` fetches the public Claim Ledger and imports every active or linked claim by that user into `~/.greenlight/my-claims.json`; `greenlight claim --import --urls <issue-url,...>` backfills manually. Re-imports dedupe; retired states are skipped.
|
|
302
|
+
|
|
303
|
+
**The proxy, shipped.** `greenlight proxy` starts the localhost forwarder that lifts you from the 60/hr anonymous quota to the 5000/hr authenticated budget: it reads `GITHUB_TOKEN` (or `GH_TOKEN`) once at startup, attaches it server-side, ignores incoming Authorization headers, binds 127.0.0.1 only, and refuses to start without a token. `greenlight doctor` now names the proxy as the remedy when you are unauthenticated.
|
|
304
|
+
|
|
305
|
+
**MCP parity.** Two new tools bring the server to 17: `scout_campaign` (campaign mode over MCP) and `my_claims` (the claims-bucketing half of the babysitter).
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
export GITHUB_TOKEN=<your-classic-token> && greenlight proxy &
|
|
309
|
+
export GREENLIGHT_GITHUB_BASE_URL=http://127.0.0.1:8792 GITHUB_TOKEN=proxy
|
|
310
|
+
greenlight claim --import --ledger-user <your-login>
|
|
311
|
+
greenlight babysit --concurrency 5
|
|
312
|
+
```
|
|
313
|
+
|
|
293
314
|
### v0.6.0: the babysitter, the autopilot, and the trust layer
|
|
294
315
|
|
|
295
316
|
**PR Babysitter.** `greenlight babysit` (or the `babysit_prs` MCP tool) is the answer to 34 open PRs and no time to watch them. Point it at PR URLs, or let it discover your open PRs across repos (`--mine --repos`), and it runs CI triage, review triage, and the guard on each one, diffs against stored watermarks, and prints one prioritized list: *needs you now* first (new likely-real review findings, CI newly failing on your code, merge conflicts, new guard flags, checks stuck over 2 hours), then *waiting on them* (checks still running, CI green with no feedback yet), then *quiet* (a PR that merged or closed retires from the watch with its resolution noted). The first run has no watermarks, so it says so and shows the full picture. Exit 0 always (cron-friendly); `--fail-on-action` gives exit 3 when the needs-you-now list is non-empty.
|
package/dist/babysit.d.ts
CHANGED
|
@@ -4,9 +4,19 @@ import { type GuardResult } from "./guard.js";
|
|
|
4
4
|
import type { IssueStatusPayload } from "./protocol.js";
|
|
5
5
|
import { type MyClaim } from "./claims-registry.js";
|
|
6
6
|
import { type ClaimBucket } from "./claim-health.js";
|
|
7
|
-
export declare const BABYSIT_VERSION = "0.9.
|
|
7
|
+
export declare const BABYSIT_VERSION = "0.9.1";
|
|
8
8
|
/** Checks pending longer than this are reported as stuck, not just running. */
|
|
9
9
|
export declare const STUCK_CHECK_MINUTES = 120;
|
|
10
|
+
/**
|
|
11
|
+
* Default bound on concurrent per-PR fetches (v0.9.1): a 15-PR sweep was
|
|
12
|
+
* ~9 minutes serial. Override per run with BabysitRunOptions.concurrency
|
|
13
|
+
* or the CLI --concurrency flag.
|
|
14
|
+
*/
|
|
15
|
+
export declare const BABYSIT_CONCURRENCY = 5;
|
|
16
|
+
/** How many times to attempt one PR's network reads before calling it a transient failure. */
|
|
17
|
+
export declare const BABYSIT_RETRIES = 2;
|
|
18
|
+
/** Base backoff between retries, scaled by attempt number (attempt * base). */
|
|
19
|
+
export declare const BABYSIT_RETRY_BACKOFF_MS = 250;
|
|
10
20
|
/** Cap on discovered PRs per --mine run; the summary always states the cap. */
|
|
11
21
|
export declare const MINE_DISCOVERY_CAP = 100;
|
|
12
22
|
export interface BabysitPull {
|
|
@@ -72,6 +82,28 @@ export declare function watermarkKey(owner: string, repo: string, number: number
|
|
|
72
82
|
export declare function reviewFindingId(f: Pick<ClassifiedFinding, "author" | "path" | "line" | "summary">): string;
|
|
73
83
|
/** Deterministic identity for a guard finding, for "new since last run". */
|
|
74
84
|
export declare function guardFlagId(check: string, title: string): string;
|
|
85
|
+
/** Parse a linked-issue URL into the canonical "owner/repo#N" ref; null when unparseable. */
|
|
86
|
+
export declare function linkedIssueRef(url: string): string | null;
|
|
87
|
+
/**
|
|
88
|
+
* Retry a network-shaped function. Intentionally small: babysit runs one
|
|
89
|
+
* logical operation per PR, and a single flaky call should not poison the
|
|
90
|
+
* whole sweep. Re-throws the last error after the attempts run out.
|
|
91
|
+
*/
|
|
92
|
+
export declare function withRetry<T>(fn: () => Promise<T>, attempts?: number, backoffMs?: number): Promise<T>;
|
|
93
|
+
/**
|
|
94
|
+
* Bounded-concurrency map: runs fn over items with at most `limit` in
|
|
95
|
+
* flight. Order of results matches order of items.
|
|
96
|
+
*/
|
|
97
|
+
export declare function mapBounded<T, U>(items: T[], limit: number, fn: (item: T) => Promise<U>): Promise<U[]>;
|
|
98
|
+
/** "usage" = the input was bad (bad PR URL); "transient" = the network/GitHub flaked. Only transient failures are retried. */
|
|
99
|
+
export type BabysitErrorKind = "usage" | "transient";
|
|
100
|
+
export declare function classifyBabysitError(err: unknown): BabysitErrorKind;
|
|
101
|
+
/** A PR that could not be observed this run: it gets no watermark and never appears as a finding. */
|
|
102
|
+
export interface BabysitTransientFailure {
|
|
103
|
+
pr: string;
|
|
104
|
+
errorKind: BabysitErrorKind;
|
|
105
|
+
detail: string;
|
|
106
|
+
}
|
|
75
107
|
export type ActionUrgency = "now" | "waiting";
|
|
76
108
|
export interface BabysitAction {
|
|
77
109
|
urgency: ActionUrgency;
|
|
@@ -109,6 +141,12 @@ export interface BabysitPrReport {
|
|
|
109
141
|
newLikelyReal: ClassifiedFinding[];
|
|
110
142
|
newNeedsDecision: ClassifiedFinding[];
|
|
111
143
|
newGuardFlags: string[];
|
|
144
|
+
/**
|
|
145
|
+
* Guard flags NOT actionable on this PR (v0.9.1): subject "repo" flags
|
|
146
|
+
* and subject "issue" flags whose issue is not one of this PR's linked
|
|
147
|
+
* issues. Informational only; they never raise needs-you.
|
|
148
|
+
*/
|
|
149
|
+
repoNotes: string[];
|
|
112
150
|
guardSummary: string;
|
|
113
151
|
actions: BabysitAction[];
|
|
114
152
|
}
|
|
@@ -133,6 +171,8 @@ export interface BabysitRunOptions {
|
|
|
133
171
|
claimsOnly?: boolean;
|
|
134
172
|
/** Override path for the my-claims registry. */
|
|
135
173
|
claimsRegistryPath?: string;
|
|
174
|
+
/** Max concurrent per-PR fetches (v0.9.1); defaults to BABYSIT_CONCURRENCY. */
|
|
175
|
+
concurrency?: number;
|
|
136
176
|
}
|
|
137
177
|
/** One registered claim, bucketed for the report. */
|
|
138
178
|
export interface BabysitClaimReport {
|
|
@@ -147,6 +187,10 @@ export interface BabysitRun {
|
|
|
147
187
|
needsYouNow: BabysitAction[];
|
|
148
188
|
waitingOnThem: BabysitAction[];
|
|
149
189
|
quiet: string[];
|
|
190
|
+
/** PRs that could not be observed this run (own section; never findings, never watermarks). */
|
|
191
|
+
transientFailures: BabysitTransientFailure[];
|
|
192
|
+
/** Informational repo notes aggregated across PRs. */
|
|
193
|
+
repoNotes: string[];
|
|
150
194
|
firstRun: boolean;
|
|
151
195
|
prsChecked: number;
|
|
152
196
|
/** Claims section (empty when the registry has no claims). */
|
package/dist/babysit.js
CHANGED
|
@@ -25,9 +25,19 @@ import { bucketClaim } from "./claim-health.js";
|
|
|
25
25
|
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
26
26
|
import { homedir } from "node:os";
|
|
27
27
|
import { dirname, join } from "node:path";
|
|
28
|
-
export const BABYSIT_VERSION = "0.9.
|
|
28
|
+
export const BABYSIT_VERSION = "0.9.1";
|
|
29
29
|
/** Checks pending longer than this are reported as stuck, not just running. */
|
|
30
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;
|
|
31
41
|
/** Cap on discovered PRs per --mine run; the summary always states the cap. */
|
|
32
42
|
export const MINE_DISCOVERY_CAP = 100;
|
|
33
43
|
async function defaultFetchPr(owner, repo, number) {
|
|
@@ -146,6 +156,68 @@ export function reviewFindingId(f) {
|
|
|
146
156
|
export function guardFlagId(check, title) {
|
|
147
157
|
return `${check}|${title}`;
|
|
148
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
|
+
}
|
|
149
221
|
function minutesPending(run, now) {
|
|
150
222
|
if (!run.startedAt)
|
|
151
223
|
return null;
|
|
@@ -191,11 +263,30 @@ export function buildPrReport(input) {
|
|
|
191
263
|
const newFindings = actionable.filter((f) => !seenReviews.has(reviewFindingId(f)));
|
|
192
264
|
const newLikelyReal = newFindings.filter((f) => f.class === "likely-real");
|
|
193
265
|
const newNeedsDecision = newFindings.filter((f) => f.class === "needs-decision");
|
|
194
|
-
// 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.
|
|
195
272
|
const seenFlags = new Set(watermark?.seenGuardFlags ?? []);
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
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
|
+
}
|
|
199
290
|
const conflicts = pr.mergeable === false || pr.mergeableState === "dirty";
|
|
200
291
|
const tag = `${pr.owner}/${pr.repo}#${pr.number}`;
|
|
201
292
|
const add = (urgency, text, next) => {
|
|
@@ -270,6 +361,7 @@ export function buildPrReport(input) {
|
|
|
270
361
|
newLikelyReal,
|
|
271
362
|
newNeedsDecision,
|
|
272
363
|
newGuardFlags,
|
|
364
|
+
repoNotes,
|
|
273
365
|
guardSummary: guard.summary,
|
|
274
366
|
actions,
|
|
275
367
|
};
|
|
@@ -295,7 +387,8 @@ function renderMarkdown(reports, run) {
|
|
|
295
387
|
lines.push(`**Claims babysitter: ${run.claims.length} active claims** (${run.retiredClaims.length} retired this run)`);
|
|
296
388
|
}
|
|
297
389
|
else {
|
|
298
|
-
|
|
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)`);
|
|
299
392
|
}
|
|
300
393
|
if (run.firstRun)
|
|
301
394
|
lines.push("_First run: no watermarks yet, so this is the full picture. Reruns report what changed since the last check._");
|
|
@@ -322,6 +415,26 @@ function renderMarkdown(reports, run) {
|
|
|
322
415
|
for (const q of run.quiet)
|
|
323
416
|
lines.push(`- ${q}`);
|
|
324
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
|
+
}
|
|
325
438
|
// Claims section (v0.9.0): the operator's registered claims, bucketed.
|
|
326
439
|
if (run.claimsRegistryMissing) {
|
|
327
440
|
lines.push("## My claims");
|
|
@@ -385,6 +498,8 @@ export async function babysit(opts) {
|
|
|
385
498
|
needsYouNow: [],
|
|
386
499
|
waitingOnThem: [],
|
|
387
500
|
quiet: [],
|
|
501
|
+
transientFailures: [],
|
|
502
|
+
repoNotes: [],
|
|
388
503
|
firstRun,
|
|
389
504
|
prsChecked: 0,
|
|
390
505
|
claims: [],
|
|
@@ -398,63 +513,65 @@ export async function babysit(opts) {
|
|
|
398
513
|
}
|
|
399
514
|
}
|
|
400
515
|
const reports = [];
|
|
516
|
+
const transientFailures = [];
|
|
401
517
|
const fetchPr = deps.fetchPr ?? defaultFetchPr;
|
|
402
518
|
const fetchCheckRuns = deps.fetchCheckRuns ?? defaultFetchCheckRuns;
|
|
403
519
|
const triageCi = deps.triageCi ?? triagePr;
|
|
404
520
|
const triageReview = deps.triageReview ?? defaultTriageReview;
|
|
405
521
|
const guard = deps.guard ?? guardPr;
|
|
406
|
-
|
|
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;
|
|
407
538
|
try {
|
|
408
|
-
|
|
409
|
-
|
|
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);
|
|
550
|
+
try {
|
|
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));
|
|
410
554
|
if (pr.state !== "open") {
|
|
411
555
|
// A closed or merged PR is done being babysat: it lands on the
|
|
412
556
|
// quiet list with its resolution, and its watermark is retired so a
|
|
413
557
|
// reopen shows up as a fresh full picture.
|
|
414
558
|
const resolution = pr.state === "merged" ? "merged" : "closed";
|
|
415
|
-
const
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
conflicts: false, mergeableState: null,
|
|
422
|
-
ciVerdict: "INDETERMINATE",
|
|
423
|
-
yoursFailing: [], pendingChecks: [], stuckChecks: [],
|
|
424
|
-
newLikelyReal: [], newNeedsDecision: [], newGuardFlags: [],
|
|
425
|
-
guardSummary: "",
|
|
426
|
-
actions: [],
|
|
427
|
-
});
|
|
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);
|
|
428
565
|
delete state.watermarks[tag];
|
|
429
|
-
|
|
566
|
+
return;
|
|
430
567
|
}
|
|
431
|
-
const
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
reports.push({
|
|
439
|
-
pr: watermarkKey(owner, repo, number),
|
|
440
|
-
owner, repo, number,
|
|
441
|
-
title: pr.title, author: pr.author,
|
|
442
|
-
headSha: pr.headSha, headChanged: false,
|
|
443
|
-
conflicts: false, mergeableState: pr.mergeableState,
|
|
444
|
-
ciVerdict: "INDETERMINATE",
|
|
445
|
-
yoursFailing: [], pendingChecks: [], stuckChecks: [],
|
|
446
|
-
newLikelyReal: [], newNeedsDecision: [], newGuardFlags: [],
|
|
447
|
-
guardSummary: "",
|
|
448
|
-
actions: [{
|
|
449
|
-
urgency: "waiting",
|
|
450
|
-
pr: watermarkKey(owner, repo, number),
|
|
451
|
-
text: "Could not read this PR's signals this run (API hiccup)",
|
|
452
|
-
next: "Rerun the babysitter; this is a transient gap, not a finding.",
|
|
453
|
-
}],
|
|
454
|
-
});
|
|
455
|
-
continue;
|
|
456
|
-
}
|
|
457
|
-
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
|
+
]));
|
|
458
575
|
const report = buildPrReport({
|
|
459
576
|
prUrl,
|
|
460
577
|
pr,
|
|
@@ -462,32 +579,26 @@ export async function babysit(opts) {
|
|
|
462
579
|
ci,
|
|
463
580
|
review,
|
|
464
581
|
guard: guardResult,
|
|
465
|
-
watermark: state.watermarks[
|
|
582
|
+
watermark: state.watermarks[tag] ?? null,
|
|
466
583
|
now,
|
|
467
584
|
});
|
|
468
585
|
reports.push(report);
|
|
469
|
-
state.watermarks[
|
|
586
|
+
state.watermarks[tag] = watermarkFromReport(report, review, guardResult, now);
|
|
470
587
|
}
|
|
471
588
|
catch (err) {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
guardSummary: "",
|
|
482
|
-
actions: [{
|
|
483
|
-
urgency: "waiting",
|
|
484
|
-
pr: tag,
|
|
485
|
-
text: `Could not check this PR: ${err instanceof Error ? err.message : String(err)}`,
|
|
486
|
-
next: "Check the URL and rerun.",
|
|
487
|
-
}],
|
|
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)}`,
|
|
488
598
|
});
|
|
489
599
|
}
|
|
490
|
-
}
|
|
600
|
+
};
|
|
601
|
+
await mapBounded(prUrls, concurrency, checkOnePr);
|
|
491
602
|
saveState(statePath, state);
|
|
492
603
|
const needsYouNow = reports.flatMap((r) => r.actions.filter((a) => a.urgency === "now"));
|
|
493
604
|
const waitingOnThem = reports.flatMap((r) => r.actions.filter((a) => a.urgency === "waiting"));
|
|
@@ -497,6 +608,7 @@ export async function babysit(opts) {
|
|
|
497
608
|
.map((r) => r.resolution
|
|
498
609
|
? `${r.pr} "${r.title}" — ${r.resolution} since the last check`
|
|
499
610
|
: `${r.pr} "${r.title}" — nothing needs you`);
|
|
611
|
+
const repoNotes = [...new Set(reports.flatMap((r) => r.repoNotes))];
|
|
500
612
|
// Claims section (v0.9.0): bucket every registered claim by its live
|
|
501
613
|
// protocol status. Claims whose issue resolved (merged/closed issue, a
|
|
502
614
|
// completed protocol claim, a released claim) retire from the registry.
|
|
@@ -526,7 +638,9 @@ export async function babysit(opts) {
|
|
|
526
638
|
}
|
|
527
639
|
}
|
|
528
640
|
const partial = {
|
|
529
|
-
reports, needsYouNow, waitingOnThem, quiet,
|
|
641
|
+
reports, needsYouNow, waitingOnThem, quiet,
|
|
642
|
+
transientFailures, repoNotes,
|
|
643
|
+
firstRun, prsChecked: reports.length + transientFailures.length,
|
|
530
644
|
claims, retiredClaims, claimsRegistryMissing, claimsOnly: opts.claimsOnly ?? false,
|
|
531
645
|
};
|
|
532
646
|
const markdown = renderMarkdown(reports, partial);
|
|
@@ -536,6 +650,8 @@ export async function babysit(opts) {
|
|
|
536
650
|
needsYouNow: needsYouNow.map((a) => ({ pr: a.pr, text: a.text, next: a.next })),
|
|
537
651
|
waitingOnThem: waitingOnThem.map((a) => ({ pr: a.pr, text: a.text, next: a.next })),
|
|
538
652
|
quiet,
|
|
653
|
+
transientFailures: transientFailures.map((f) => ({ pr: f.pr, errorKind: f.errorKind, detail: f.detail })),
|
|
654
|
+
repoNotes,
|
|
539
655
|
claims: claims.map((c) => ({ issue: c.claim.issueUrl, bucket: c.bucket, detail: c.detail, prUrl: c.prUrl ?? null, error: c.error ?? null })),
|
|
540
656
|
retiredClaims,
|
|
541
657
|
reports: reports.map((r) => ({
|
|
@@ -544,7 +660,7 @@ export async function babysit(opts) {
|
|
|
544
660
|
yoursFailing: r.yoursFailing, pendingChecks: r.pendingChecks, stuckChecks: r.stuckChecks,
|
|
545
661
|
newLikelyReal: r.newLikelyReal.map((f) => f.summary),
|
|
546
662
|
newNeedsDecision: r.newNeedsDecision.map((f) => f.summary),
|
|
547
|
-
newGuardFlags: r.newGuardFlags, guardSummary: r.guardSummary,
|
|
663
|
+
newGuardFlags: r.newGuardFlags, repoNotes: r.repoNotes, guardSummary: r.guardSummary,
|
|
548
664
|
})),
|
|
549
665
|
};
|
|
550
666
|
return { ...partial, markdown, json };
|
package/dist/babysit.js.map
CHANGED
|
@@ -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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"}
|