@reneturcios/greenlight 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../src/autopilot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /** Write operations the ledger tracks. pr_create is the POST /pulls outcome; claim is the claim-comment outcome. */
2
+ export type CapabilityAction = "pr_create" | "claim";
3
+ /**
4
+ * Recorded outcome of one interaction. The blocked-* family is
5
+ * structural (the repo or account will say no again); failed-other is
6
+ * transient or unknown and does not drive exclusion.
7
+ */
8
+ export type CapabilityOutcome = "ok" | "blocked-404" | "blocked-422" | "blocked-403" | "failed-other";
9
+ export interface CapabilityEntry {
10
+ /** "owner/repo", lowercased on write. */
11
+ repo: string;
12
+ action: CapabilityAction;
13
+ outcome: CapabilityOutcome;
14
+ /** Short evidence string: what happened, with the signal that proved it. */
15
+ evidence: string;
16
+ /** ISO timestamp of the observation. */
17
+ at: string;
18
+ }
19
+ export interface CapabilitiesFile {
20
+ entries: CapabilityEntry[];
21
+ }
22
+ /**
23
+ * Ledger path. GREENLIGHT_CAPABILITIES_PATH overrides it (tests and
24
+ * agents that keep their own ledger); otherwise
25
+ * ~/.greenlight/capabilities.json.
26
+ */
27
+ export declare function defaultCapabilitiesPath(): string;
28
+ /** Load the ledger; a missing or corrupt file reads as empty, never throws. */
29
+ export declare function loadCapabilities(path?: string): CapabilitiesFile;
30
+ /**
31
+ * Append one observation. Returns the recorded entry. Never throws on
32
+ * filesystem trouble: a ledger that cannot be written is a missed
33
+ * memory, not a failed command.
34
+ */
35
+ export declare function recordCapability(repo: string, action: CapabilityAction, outcome: CapabilityOutcome, evidence: string, path?: string, at?: string): CapabilityEntry;
36
+ /** The most recent observation for a repo+action, or undefined when the tool has never tried. */
37
+ export declare function latestCapability(file: CapabilitiesFile, repo: string, action: CapabilityAction): CapabilityEntry | undefined;
38
+ /** Structural blocks are the outcomes that drive exclusion and NO-GO verdicts. */
39
+ export declare function isBlockedOutcome(outcome: CapabilityOutcome): boolean;
40
+ /**
41
+ * The recorded reason a repo cannot take PRs from this account, or
42
+ * undefined when the ledger holds no structural block. Scout and
43
+ * preflight read this; it is why the F2 repos never get built for
44
+ * again.
45
+ */
46
+ export declare function prCreateBlockReason(file: CapabilitiesFile, repo: string): string | undefined;
47
+ /**
48
+ * Map a write-path error to a ledger outcome. Returns undefined for
49
+ * transient account state (rate limits) that says nothing about the
50
+ * repo; callers skip recording those.
51
+ */
52
+ export declare function capabilityOutcomeForError(err: unknown): CapabilityOutcome | undefined;
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Capability ledger (Greenlight v0.10.1): per-repo recorded interaction
3
+ * outcomes, so the tool remembers what the account can actually do in a
4
+ * repo instead of re-learning it the expensive way.
5
+ *
6
+ * Field lesson 2026-10-18: actualbudget/actual blocked PR creation
7
+ * (422 "user is blocked") and modelcontextprotocol/typescript-sdk 404'd
8
+ * it despite a valid fork. Both were discovered only after full builds
9
+ * were done. Had the first failure been recorded, scout would have
10
+ * skipped the repo and preflight would have said no before any build
11
+ * started. This file is that memory: ~/.greenlight/capabilities.json.
12
+ */
13
+ import { homedir } from "node:os";
14
+ import { join } from "node:path";
15
+ import { mkdirSync, readFileSync, writeFileSync, existsSync } from "node:fs";
16
+ /**
17
+ * Ledger path. GREENLIGHT_CAPABILITIES_PATH overrides it (tests and
18
+ * agents that keep their own ledger); otherwise
19
+ * ~/.greenlight/capabilities.json.
20
+ */
21
+ export function defaultCapabilitiesPath() {
22
+ const env = process.env.GREENLIGHT_CAPABILITIES_PATH;
23
+ if (env && env.trim().length > 0)
24
+ return env.trim();
25
+ return join(homedir(), ".greenlight", "capabilities.json");
26
+ }
27
+ /** Load the ledger; a missing or corrupt file reads as empty, never throws. */
28
+ export function loadCapabilities(path = defaultCapabilitiesPath()) {
29
+ try {
30
+ if (!existsSync(path))
31
+ return { entries: [] };
32
+ const parsed = JSON.parse(readFileSync(path, "utf8"));
33
+ if (parsed && Array.isArray(parsed.entries)) {
34
+ const entries = parsed.entries
35
+ .filter((e) => e && typeof e.repo === "string" && typeof e.action === "string")
36
+ .map((e) => ({
37
+ repo: String(e.repo).toLowerCase(),
38
+ action: e.action,
39
+ outcome: (e.outcome ?? "failed-other"),
40
+ evidence: String(e.evidence ?? ""),
41
+ at: String(e.at ?? ""),
42
+ }));
43
+ return { entries };
44
+ }
45
+ }
46
+ catch {
47
+ // Corrupt ledger: start empty rather than crash the command.
48
+ }
49
+ return { entries: [] };
50
+ }
51
+ function saveCapabilities(path, file) {
52
+ try {
53
+ mkdirSync(dirnameOf(path), { recursive: true });
54
+ }
55
+ catch {
56
+ // best effort
57
+ }
58
+ writeFileSync(path, JSON.stringify(file, null, 2) + "\n", "utf8");
59
+ }
60
+ function dirnameOf(path) {
61
+ const idx = path.lastIndexOf("/");
62
+ return idx > 0 ? path.slice(0, idx) : ".";
63
+ }
64
+ /**
65
+ * Append one observation. Returns the recorded entry. Never throws on
66
+ * filesystem trouble: a ledger that cannot be written is a missed
67
+ * memory, not a failed command.
68
+ */
69
+ export function recordCapability(repo, action, outcome, evidence, path = defaultCapabilitiesPath(), at = new Date().toISOString()) {
70
+ const entry = {
71
+ repo: repo.toLowerCase(),
72
+ action,
73
+ outcome,
74
+ evidence: evidence.slice(0, 280),
75
+ at,
76
+ };
77
+ try {
78
+ const file = loadCapabilities(path);
79
+ file.entries.push(entry);
80
+ saveCapabilities(path, file);
81
+ }
82
+ catch {
83
+ // best effort
84
+ }
85
+ return entry;
86
+ }
87
+ /** The most recent observation for a repo+action, or undefined when the tool has never tried. */
88
+ export function latestCapability(file, repo, action) {
89
+ const key = repo.toLowerCase();
90
+ let best;
91
+ for (const e of file.entries) {
92
+ // Case-insensitive even for hand-edited files that bypass the
93
+ // write-path normalization.
94
+ if (String(e.repo).toLowerCase() !== key || e.action !== action)
95
+ continue;
96
+ if (!best || e.at >= best.at)
97
+ best = e;
98
+ }
99
+ return best;
100
+ }
101
+ /** Structural blocks are the outcomes that drive exclusion and NO-GO verdicts. */
102
+ export function isBlockedOutcome(outcome) {
103
+ return outcome === "blocked-404" || outcome === "blocked-422" || outcome === "blocked-403";
104
+ }
105
+ /**
106
+ * The recorded reason a repo cannot take PRs from this account, or
107
+ * undefined when the ledger holds no structural block. Scout and
108
+ * preflight read this; it is why the F2 repos never get built for
109
+ * again.
110
+ */
111
+ export function prCreateBlockReason(file, repo) {
112
+ const latest = latestCapability(file, repo, "pr_create");
113
+ if (latest && isBlockedOutcome(latest.outcome)) {
114
+ return `pr_create ${latest.outcome} (${latest.at}): ${latest.evidence}`;
115
+ }
116
+ return undefined;
117
+ }
118
+ /**
119
+ * Map a write-path error to a ledger outcome. Returns undefined for
120
+ * transient account state (rate limits) that says nothing about the
121
+ * repo; callers skip recording those.
122
+ */
123
+ export function capabilityOutcomeForError(err) {
124
+ const msg = (err instanceof Error ? err.message : String(err)).toLowerCase();
125
+ if (/rate limit|rate_limit|429/.test(msg))
126
+ return undefined;
127
+ if (/403|blocked/.test(msg))
128
+ return "blocked-403";
129
+ if (/404|not found/.test(msg))
130
+ return "blocked-404";
131
+ if (/422|validation failed/.test(msg))
132
+ return "blocked-422";
133
+ return "failed-other";
134
+ }
135
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -14,6 +14,7 @@
14
14
  * greenlight verify-comment <issue-url> [--json] [--from-file notes.md]
15
15
  * greenlight verify [--base <ref>] [--cmd "<test command>"] [--parser node:test|pytest] [--allow-dirty] [--json]
16
16
  * greenlight babysit [--prs urls] [--mine --repos o/r] [--account] [--claims-only] [--json]
17
+ * greenlight autopilot [--author login] [--prs urls] [--max-prs N] [--apply] [--max-fixes N] [--json]
17
18
  * greenlight sync [--author login] [--tracker csv|json] [--stale-days N] [--write] [--json]
18
19
  * greenlight portfolio [--author login] [--json]
19
20
  * greenlight init [--agent <tool>...] [--dry-run] [--force]
@@ -47,8 +48,11 @@ import { scoutCampaign, SCOUT_DEFAULT_BUDGET } from "./scout.js";
47
48
  import { buildVerifiedComment, suggestsVerifiedComment, verifiedCommentSuggestion, parseNoteFile, } from "./verify-comment.js";
48
49
  import { verifyRepo } from "./verify.js";
49
50
  import { babysit, defaultStatePath, defaultAccountAuthor } from "./babysit.js";
51
+ import { runAutopilot, defaultAutopilotStatePath } from "./autopilot.js";
50
52
  import { runSync, formatSyncHuman, syncJson } from "./sync.js";
51
53
  import { runPortfolio, formatPortfolioHuman, portfolioJson } from "./portfolio.js";
54
+ import { runShipcheck, formatShipcheckHuman } from "./shipcheck.js";
55
+ import { runPreflight, formatPreflightHuman } from "./preflight.js";
52
56
  import { buildEvidencePack } from "./evidence.js";
53
57
  import { buildPassport } from "./passport.js";
54
58
  import { renderLabelsDryRun } from "./guard.js";
@@ -664,6 +668,46 @@ async function cmdBabysit(args) {
664
668
  if (args.includes("--fail-on-action") && run.needsYouNow.length > 0)
665
669
  process.exitCode = 3;
666
670
  }
671
+ /**
672
+ * `greenlight autopilot`: PR feedback that fixes itself. Report-only by
673
+ * default; --apply performs mechanical fixes (DCO surgery, mechanical
674
+ * merges, formatting) with a cap. Never posts comments: replies are
675
+ * drafted and queued behind the account's comment block.
676
+ */
677
+ async function cmdAutopilot(args) {
678
+ const prsRaw = flagValue(args, "--prs");
679
+ const author = flagValue(args, "--author");
680
+ const maxPrsRaw = flagValue(args, "--max-prs");
681
+ const maxFixesRaw = flagValue(args, "--max-fixes");
682
+ const statePath = flagValue(args, "--state") ?? defaultAutopilotStatePath();
683
+ const prs = prsRaw ? prsRaw.split(",").map((s) => s.trim()).filter((s) => s.length > 0) : [];
684
+ let maxPrs;
685
+ let maxFixes;
686
+ if (maxPrsRaw !== undefined) {
687
+ maxPrs = Number(maxPrsRaw);
688
+ if (!Number.isFinite(maxPrs) || maxPrs < 1) {
689
+ console.error("Error: --max-prs must be a positive number.");
690
+ process.exitCode = 1;
691
+ return;
692
+ }
693
+ }
694
+ if (maxFixesRaw !== undefined) {
695
+ maxFixes = Number(maxFixesRaw);
696
+ if (!Number.isFinite(maxFixes) || maxFixes < 0) {
697
+ console.error("Error: --max-fixes must be a non-negative number.");
698
+ process.exitCode = 1;
699
+ return;
700
+ }
701
+ }
702
+ const apply = args.includes("--apply");
703
+ const run = await runAutopilot({ author, prs, maxPrs, apply, maxFixes, statePath });
704
+ if (args.includes("--json")) {
705
+ console.log(JSON.stringify(run.json, null, 2));
706
+ }
707
+ else {
708
+ console.log(run.markdown);
709
+ }
710
+ }
667
711
  /**
668
712
  * Multi-agent sync (v0.10.0): reconcile the local claims registry with
669
713
  * the authoritative API census. Reads only; --write updates the
@@ -710,6 +754,79 @@ async function cmdPortfolio(args) {
710
754
  console.log(formatPortfolioHuman(p));
711
755
  }
712
756
  }
757
+ /**
758
+ * `greenlight shipcheck owner/repo --version x.y.z`: independently verify
759
+ * every link of a release chain (tag, commit object, package.json at the
760
+ * tag, GitHub release, npm, MCP Registry). Reads only. Exits non-zero
761
+ * naming the broken link on any failure, so a CI gate can run it after
762
+ * every publish and a broken ship can never be reported as shipped.
763
+ */
764
+ async function cmdShipcheck(target, args) {
765
+ let owner;
766
+ let repo;
767
+ try {
768
+ ({ owner, repo } = parseRepoRef(target));
769
+ }
770
+ catch {
771
+ console.error(`Error: expected owner/repo, got: ${target}`);
772
+ process.exitCode = 1;
773
+ return;
774
+ }
775
+ const version = flagValue(args, "--version");
776
+ if (!version || !/^\d+\.\d+\.\d+/.test(version)) {
777
+ console.error("Error: --version <x.y.z> is required.");
778
+ process.exitCode = 1;
779
+ return;
780
+ }
781
+ const result = await runShipcheck({
782
+ owner,
783
+ repo,
784
+ version,
785
+ npmPackage: flagValue(args, "--npm"),
786
+ mcpName: flagValue(args, "--mcp-name"),
787
+ });
788
+ if (args.includes("--json")) {
789
+ console.log(JSON.stringify(result, null, 2));
790
+ }
791
+ else {
792
+ console.log(formatShipcheckHuman(result));
793
+ }
794
+ if (!result.pass)
795
+ process.exitCode = 1;
796
+ }
797
+ /**
798
+ * `greenlight preflight owner/repo [--base sha] [--files a,b]`: reads-only
799
+ * go/no-go before building a fix or opening a PR. Checks the fork, the
800
+ * capability ledger (KNOWN-BLOCKED repos stop here), the repo's policy
801
+ * gates, and optional upstream drift on the files the build would touch.
802
+ */
803
+ async function cmdPreflight(target, args) {
804
+ let owner;
805
+ let repo;
806
+ try {
807
+ ({ owner, repo } = parseRepoRef(target));
808
+ }
809
+ catch {
810
+ console.error(`Error: expected owner/repo, got: ${target}`);
811
+ process.exitCode = 1;
812
+ return;
813
+ }
814
+ const filesRaw = flagValue(args, "--files");
815
+ const result = await runPreflight({
816
+ owner,
817
+ repo,
818
+ base: flagValue(args, "--base"),
819
+ files: filesRaw ? filesRaw.split(",").map((s) => s.trim()).filter((s) => s.length > 0) : undefined,
820
+ });
821
+ if (args.includes("--json")) {
822
+ console.log(JSON.stringify(result, null, 2));
823
+ }
824
+ else {
825
+ console.log(formatPreflightHuman(result));
826
+ }
827
+ if (result.verdict === "NO-GO")
828
+ process.exitCode = 1;
829
+ }
713
830
  /**
714
831
  * Campaign scout mode (v0.9.0). Reads repos from --repos or --repos-file,
715
832
  * scans each with the check pipeline, dedupes against the campaign file,
@@ -1086,12 +1203,18 @@ async function main() {
1086
1203
  return await cmdVerify(args);
1087
1204
  if (command === "babysit")
1088
1205
  return await cmdBabysit(args);
1206
+ if (command === "autopilot")
1207
+ return await cmdAutopilot(args);
1089
1208
  if (command === "scout")
1090
1209
  return await cmdScout(args);
1091
1210
  if (command === "sync")
1092
1211
  return await cmdSync(args);
1093
1212
  if (command === "portfolio")
1094
1213
  return await cmdPortfolio(args);
1214
+ if (command === "shipcheck" && target)
1215
+ return await cmdShipcheck(target, args);
1216
+ if (command === "preflight" && target)
1217
+ return await cmdPreflight(target, args);
1095
1218
  if (command === "evidence" && target)
1096
1219
  return await cmdEvidence(target, args);
1097
1220
  if (command === "passport" && target)