@reneturcios/greenlight 0.9.0 → 0.9.2
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 +44 -2
- package/dist/automate.d.ts +20 -0
- package/dist/automate.js +75 -7
- package/dist/automate.js.map +1 -1
- package/dist/babysit.d.ts +45 -1
- package/dist/babysit.js +188 -72
- package/dist/babysit.js.map +1 -1
- package/dist/ci-triage.d.ts +1 -1
- package/dist/ci-triage.js +6 -0
- package/dist/ci-triage.js.map +1 -1
- package/dist/claim-health.d.ts +1 -1
- package/dist/claim-health.js +12 -0
- package/dist/claim-health.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/claims.js +73 -20
- package/dist/claims.js.map +1 -1
- package/dist/cli.js +153 -11
- package/dist/cli.js.map +1 -1
- package/dist/doctor.js +14 -6
- package/dist/doctor.js.map +1 -1
- package/dist/github.d.ts +21 -0
- package/dist/github.js +70 -2
- package/dist/github.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 +22 -6
- package/dist/help.js.map +1 -1
- package/dist/index.js +40 -2
- package/dist/index.js.map +1 -1
- package/dist/init.js +1 -1
- package/dist/llm-claims.d.ts +13 -2
- package/dist/llm-claims.js +54 -17
- package/dist/llm-claims.js.map +1 -1
- package/dist/posting-ledger.d.ts +70 -0
- package/dist/posting-ledger.js +170 -0
- package/dist/posting-ledger.js.map +1 -0
- package/dist/protocol-fetch.d.ts +3 -1
- package/dist/protocol-fetch.js +10 -1
- package/dist/protocol-fetch.js.map +1 -1
- package/dist/protocol.d.ts +14 -1
- package/dist/protocol.js +34 -3
- package/dist/protocol.js.map +1 -1
- package/dist/proxy.d.ts +50 -0
- package/dist/proxy.js +111 -0
- package/dist/proxy.js.map +1 -0
- package/dist/types.d.ts +18 -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
|
@@ -4,6 +4,12 @@ Greenlight checks a GitHub issue before you spend hours on it, and tells you in
|
|
|
4
4
|
|
|
5
5
|
**New:** [The Contribution Friction Index](https://cloudcorprecords.github.io/greenlight/) ranks 43 well known projects by how hard it really is to get a pull request merged, from live GitHub data.
|
|
6
6
|
|
|
7
|
+
## Watch it work
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
*The 59-second demo: real issue checks on real repos, an AI-caught hidden claim, a GATED agent ban, campaign scouting, and the claims babysitter. [Full narrated video](docs/assets/greenlight-demo.mp4).*
|
|
12
|
+
|
|
7
13
|
## Use Greenlight inside your AI coding tool
|
|
8
14
|
|
|
9
15
|
One command sets it up:
|
|
@@ -12,7 +18,7 @@ One command sets it up:
|
|
|
12
18
|
npx @reneturcios/greenlight init --agent claude-code
|
|
13
19
|
```
|
|
14
20
|
|
|
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
|
|
21
|
+
(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
22
|
|
|
17
23
|
## The problem
|
|
18
24
|
|
|
@@ -132,8 +138,23 @@ npx @reneturcios/greenlight review https://github.com/n8n-io/n8n/pull/41235
|
|
|
132
138
|
# Campaign scout: rank repo targets, dedupe against the campaign file, append as SCOUTED
|
|
133
139
|
npx @reneturcios/greenlight scout --repos acme/widgets,acme/gadgets --campaign campaign.json --write
|
|
134
140
|
|
|
135
|
-
# Babysit your registered claims: linked, healthy-active, heartbeat-due, expiring, unlinked-stale, queue-lost
|
|
141
|
+
# Babysit your registered claims: linked, linked-dead, healthy-active, heartbeat-due, expiring, unlinked-stale, queue-lost
|
|
136
142
|
npx @reneturcios/greenlight babysit --claims-only
|
|
143
|
+
# A claim whose linked PR closed unmerged reads linked-dead, with a release
|
|
144
|
+
# prompt: the issue is free, but the stale marker needs an explicit release.
|
|
145
|
+
|
|
146
|
+
# Pacing: claim posts never trip GitHub's anti-spam flag
|
|
147
|
+
# Every post attempt is ledgered at ~/.greenlight/posting-ledger.json
|
|
148
|
+
# (timestamp, kind, target, outcome). Claim posts enforce a minimum
|
|
149
|
+
# interval (default 90s, jittered; GREENLIGHT_CLAIM_MIN_INTERVAL_S, or
|
|
150
|
+
# --min-interval) and a daily soft cap (default 25 per rolling day;
|
|
151
|
+
# GREENLIGHT_CLAIM_DAILY_CAP, 0 disables). A post that fails with a block
|
|
152
|
+
# or an uncertain network error is marked UNCONFIRMED; the tool re-reads
|
|
153
|
+
# the target against the API before ever posting to it again, so a
|
|
154
|
+
# "failed" post that actually landed is marked confirmed and never
|
|
155
|
+
# reposted. --force overrides any pacing refusal, and the override is
|
|
156
|
+
# ledgered. greenlight status shows your pacing posture.
|
|
157
|
+
npx @reneturcios/greenlight status https://github.com/owner/repo/issues/123
|
|
137
158
|
|
|
138
159
|
# [likely-real] interpolation drops `__proto__` (packages/bruno-cli/src/runner/interpolate-vars.js:42)
|
|
139
160
|
# why: anchor matches: the comment's quoted token Object.assign({}, params) is present in the anchored hunk
|
|
@@ -290,6 +311,27 @@ greenlight scout --repos acme/widgets,acme/gadgets --campaign campaign.json --wr
|
|
|
290
311
|
greenlight babysit --claims-only
|
|
291
312
|
```
|
|
292
313
|
|
|
314
|
+
### v0.9.1: the trust patch
|
|
315
|
+
|
|
316
|
+
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.
|
|
317
|
+
|
|
318
|
+
**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.
|
|
319
|
+
|
|
320
|
+
**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.
|
|
321
|
+
|
|
322
|
+
**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.
|
|
323
|
+
|
|
324
|
+
**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.
|
|
325
|
+
|
|
326
|
+
**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).
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
export GITHUB_TOKEN=<your-classic-token> && greenlight proxy &
|
|
330
|
+
export GREENLIGHT_GITHUB_BASE_URL=http://127.0.0.1:8792 GITHUB_TOKEN=proxy
|
|
331
|
+
greenlight claim --import --ledger-user <your-login>
|
|
332
|
+
greenlight babysit --concurrency 5
|
|
333
|
+
```
|
|
334
|
+
|
|
293
335
|
### v0.6.0: the babysitter, the autopilot, and the trust layer
|
|
294
336
|
|
|
295
337
|
**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/automate.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type PrepDetail } from "./prep-detail.js";
|
|
2
2
|
import type { IssueSnapshot, VerdictResult, Gate, RepoConventions } from "./types.js";
|
|
3
|
+
import { type PostingLedgerEntry } from "./posting-ledger.js";
|
|
3
4
|
/** Thrown when an automation command refuses to proceed. CLI exits 1 on this. */
|
|
4
5
|
export declare class AutomationRefusal extends Error {
|
|
5
6
|
constructor(message: string);
|
|
@@ -104,6 +105,23 @@ export interface ClaimOptions {
|
|
|
104
105
|
plan?: string;
|
|
105
106
|
/** Optional ETA in days recorded in the protocol claim comment (eta-days: line). */
|
|
106
107
|
etaDays?: number;
|
|
108
|
+
/**
|
|
109
|
+
* Pacing (v0.9.2): override the minimum interval between claim posts
|
|
110
|
+
* (seconds). Defaults to GREENLIGHT_CLAIM_MIN_INTERVAL_S (90).
|
|
111
|
+
*/
|
|
112
|
+
minIntervalS?: number;
|
|
113
|
+
/**
|
|
114
|
+
* Pacing: where the posting ledger lives. Defaults to
|
|
115
|
+
* ~/.greenlight/posting-ledger.json; the tests inject a temp path.
|
|
116
|
+
*/
|
|
117
|
+
ledgerPath?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Pacing reconciliation (v0.9.2): given an unconfirmed ledger entry for
|
|
120
|
+
* this target, return true when the post actually landed (checked
|
|
121
|
+
* against the API). The CLI supplies a comment-listing implementation;
|
|
122
|
+
* the default assumes it did not land.
|
|
123
|
+
*/
|
|
124
|
+
confirmPost?: (entry: PostingLedgerEntry) => Promise<boolean>;
|
|
107
125
|
}
|
|
108
126
|
export interface ClaimResult {
|
|
109
127
|
verdict: VerdictResult;
|
|
@@ -176,6 +194,8 @@ export interface PrOptions {
|
|
|
176
194
|
branch: string;
|
|
177
195
|
title?: string;
|
|
178
196
|
yes: boolean;
|
|
197
|
+
/** Override the posting-ledger path (tests use a scratch file). */
|
|
198
|
+
ledgerPath?: string;
|
|
179
199
|
}
|
|
180
200
|
export interface PrResult {
|
|
181
201
|
verdict: VerdictResult;
|
package/dist/automate.js
CHANGED
|
@@ -19,6 +19,7 @@ import { scoreIssue } from "./verdict.js";
|
|
|
19
19
|
import { parseGates, gateLabel } from "./gates.js";
|
|
20
20
|
import { githubToken, apiGet, apiPost, ApiNotFoundError } from "./github.js";
|
|
21
21
|
import { gatherPrepDetail, } from "./prep-detail.js";
|
|
22
|
+
import { appendLedgerEntry, checkPacing, outcomeForError, pacingConfigFromEnv, pendingEntryFor, readLedger, reconcileEntry, defaultLedgerPath, } from "./posting-ledger.js";
|
|
22
23
|
/** Thrown when an automation command refuses to proceed. CLI exits 1 on this. */
|
|
23
24
|
export class AutomationRefusal extends Error {
|
|
24
25
|
constructor(message) {
|
|
@@ -314,7 +315,54 @@ export async function claimIssue(client, snapshot, opts) {
|
|
|
314
315
|
return { verdict: result, commentBody, commentUrl: null, executed: false, viewer };
|
|
315
316
|
}
|
|
316
317
|
requireWriteToken();
|
|
317
|
-
const
|
|
318
|
+
const ledgerPath = opts.ledgerPath ?? defaultLedgerPath();
|
|
319
|
+
const targetUrl = `https://github.com/${snapshot.owner}/${snapshot.repo}/issues/${snapshot.number}`;
|
|
320
|
+
// Pacing (v0.9.2): never blind-retry an unconfirmed post. Re-read the
|
|
321
|
+
// target first; if the earlier attempt landed, do not repost.
|
|
322
|
+
const pending = pendingEntryFor(readLedger(ledgerPath), targetUrl);
|
|
323
|
+
if (pending) {
|
|
324
|
+
const confirm = opts.confirmPost ?? (async () => false);
|
|
325
|
+
const outcome = await reconcileEntry(ledgerPath, pending, confirm);
|
|
326
|
+
if (outcome === "confirmed") {
|
|
327
|
+
throw new AutomationRefusal(`refusing to claim ${ref}: an earlier claim attempt on this issue is now confirmed on the issue (reconciled against the API). Not reposting.`);
|
|
328
|
+
}
|
|
329
|
+
if (outcome === "unknown" && !opts.force) {
|
|
330
|
+
throw new AutomationRefusal(`refusing to claim ${ref}: the earlier claim attempt could not be verified against the API, so a repost might duplicate it. Pass --force to post anyway (the override is ledgered).`);
|
|
331
|
+
}
|
|
332
|
+
// "not-landed": the earlier attempt provably did not land; this is a
|
|
333
|
+
// fresh attempt, and the stale entry is now superseded.
|
|
334
|
+
}
|
|
335
|
+
// Cadence + daily soft cap for claim posts (the surface GitHub's
|
|
336
|
+
// anti-spam flag watches). --force overrides; the override is ledgered.
|
|
337
|
+
const pacingCfg = pacingConfigFromEnv();
|
|
338
|
+
if (opts.minIntervalS !== undefined && opts.minIntervalS >= 0) {
|
|
339
|
+
pacingCfg.minIntervalS = opts.minIntervalS;
|
|
340
|
+
}
|
|
341
|
+
const pacing = checkPacing(readLedger(ledgerPath), Date.now(), pacingCfg);
|
|
342
|
+
if (!pacing.allowed && !opts.force) {
|
|
343
|
+
throw new AutomationRefusal(`refusing to claim ${ref}: ${pacing.reason}`);
|
|
344
|
+
}
|
|
345
|
+
const forcedPacing = !pacing.allowed && opts.force;
|
|
346
|
+
let commentUrl;
|
|
347
|
+
try {
|
|
348
|
+
commentUrl = await client.postIssueComment(snapshot.owner, snapshot.repo, snapshot.number, commentBody);
|
|
349
|
+
}
|
|
350
|
+
catch (err) {
|
|
351
|
+
const outcome = outcomeForError(err);
|
|
352
|
+
appendLedgerEntry({
|
|
353
|
+
kind: "claim",
|
|
354
|
+
targetUrl,
|
|
355
|
+
outcome,
|
|
356
|
+
note: (err instanceof Error ? err.message : String(err)).slice(0, 140),
|
|
357
|
+
}, ledgerPath);
|
|
358
|
+
throw err;
|
|
359
|
+
}
|
|
360
|
+
appendLedgerEntry({
|
|
361
|
+
kind: "claim",
|
|
362
|
+
targetUrl,
|
|
363
|
+
outcome: "confirmed",
|
|
364
|
+
note: forcedPacing ? `${commentUrl} (pacing override: --force)` : commentUrl,
|
|
365
|
+
}, ledgerPath);
|
|
318
366
|
return { verdict: result, commentBody, commentUrl, executed: true, viewer };
|
|
319
367
|
}
|
|
320
368
|
function verdictLine(result) {
|
|
@@ -683,12 +731,32 @@ export async function openPr(client, snapshot, opts) {
|
|
|
683
731
|
};
|
|
684
732
|
}
|
|
685
733
|
requireWriteToken();
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
734
|
+
// v0.9.2: PR openings are posts too — ledger the outcome so pacing
|
|
735
|
+
// visibility covers the full posting footprint.
|
|
736
|
+
let prUrl;
|
|
737
|
+
try {
|
|
738
|
+
prUrl = await client.createPullRequest(owner, repo, {
|
|
739
|
+
title,
|
|
740
|
+
body,
|
|
741
|
+
head,
|
|
742
|
+
base: defaultBranch,
|
|
743
|
+
});
|
|
744
|
+
appendLedgerEntry({
|
|
745
|
+
kind: "pr",
|
|
746
|
+
targetUrl: prUrl,
|
|
747
|
+
outcome: "confirmed",
|
|
748
|
+
note: `branch ${opts.branch} on ${owner}/${repo}`,
|
|
749
|
+
}, opts.ledgerPath ?? defaultLedgerPath());
|
|
750
|
+
}
|
|
751
|
+
catch (err) {
|
|
752
|
+
appendLedgerEntry({
|
|
753
|
+
kind: "pr",
|
|
754
|
+
targetUrl: `https://github.com/${owner}/${repo} (branch ${opts.branch})`,
|
|
755
|
+
outcome: outcomeForError(err),
|
|
756
|
+
note: (err instanceof Error ? err.message : String(err)).slice(0, 200),
|
|
757
|
+
}, opts.ledgerPath ?? defaultLedgerPath());
|
|
758
|
+
throw err;
|
|
759
|
+
}
|
|
692
760
|
return {
|
|
693
761
|
verdict: result,
|
|
694
762
|
branch: opts.branch,
|
package/dist/automate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automate.js","sourceRoot":"","sources":["../src/automate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"automate.js","sourceRoot":"","sources":["../src/automate.ts"],"names":[],"mappings":"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"}
|
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.2";
|
|
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). */
|