jonah-fleet 1.31.3 → 1.31.5
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/CHANGELOG.md +15 -4
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/index.js +233 -25
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/runner.d.ts +3 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/terminal-card.d.ts +25 -0
- package/dist/lib/terminal-card.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to `jonah-fleet` will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.31.5](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.31.4...v1.31.5) (2026-10-02)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **daemon,terminal-card:** classify radar digests and needs-attention issues as gated in backlog preflight ([#592](https://github.com/Jonah-Projects/jonah-fleet/issues/592)) ([0e4c82c](https://github.com/Jonah-Projects/jonah-fleet/commit/0e4c82c500a1cd4bbfb324003da6d9404fe26856))
|
|
14
|
+
|
|
15
|
+
## [1.31.4](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.31.3...v1.31.4) (2026-10-02)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **terminal-card,daemon:** clarify peer-review outcome states in terminal card and watchdog logs ([#585](https://github.com/Jonah-Projects/jonah-fleet/issues/585)) ([745c9a8](https://github.com/Jonah-Projects/jonah-fleet/commit/745c9a8a0450b7d80689b2f1e3e8c1b8cd4fb723))
|
|
21
|
+
|
|
8
22
|
## [1.31.3](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.31.2...v1.31.3) (2026-10-02)
|
|
9
23
|
|
|
10
24
|
|
|
@@ -23,10 +37,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
23
37
|
|
|
24
38
|
### Bug Fixes
|
|
25
39
|
|
|
26
|
-
* **
|
|
27
|
-
* **daemon:** exempt transient service errors (503 UNAVAILABLE) from PR failure cooldowns to avoid penalizing PR review schedules on momentary upstream cloud blips
|
|
28
|
-
* **loop-guard:** exempt read-only CLI status polling commands (`gh run view`, `gh run watch`, `gh pr view`, `gh pr checks`, `git status`) from repetition and ping-pong loop circuit breakers
|
|
29
|
-
* **prompts:** clarify fast autonomous handoff in autowork Step 15 for local daemon runs so completed PRs hand off cleanly to peer-review without 12-minute polling wait
|
|
40
|
+
* **daemon,terminal-card:** classify upstream ecosystem radar digests and `needs-attention` issues as human/maintainer-gated in backlog preflight triage, preventing repetitive autowork scan looping on informational digests
|
|
30
41
|
|
|
31
42
|
## [1.31.1](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.31.0...v1.31.1) (2026-10-01)
|
|
32
43
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EvG"}
|
package/dist/index.js
CHANGED
|
@@ -1553,6 +1553,9 @@ async function fetchTargetTitleAsync(repoRoot, target) {
|
|
|
1553
1553
|
function isRoutineRunTitle(title) {
|
|
1554
1554
|
return /^\[(autowork|peer-review|optimizer|issues-housekeeping|design-review)\]\s+run\b/i.test(title.trim());
|
|
1555
1555
|
}
|
|
1556
|
+
function isRadarDigestTitle(title) {
|
|
1557
|
+
return /^(?:📡\s*)?(?:Upstream\s+)?Ecosystem\s+Radar:\s+Intel\s+Digest\b/i.test(title.trim()) || /\b(upstream ecosystem radar|intel digest)\b/i.test(title.trim());
|
|
1558
|
+
}
|
|
1556
1559
|
function sanitizeWorktreePaths(text) {
|
|
1557
1560
|
let cleaned = text.replace(/file:\/\/\/[^\s"'()]+?\/\.jonah-fleet\/worktrees\/[^/\s"'()]+\//g, "");
|
|
1558
1561
|
cleaned = cleaned.replace(/(?:^|[\s"'(`[])(?:\/[^\s"'()]+?)?\.jonah-fleet\/worktrees\/[^/\s"'()]+\//g, (match) => {
|
|
@@ -1569,6 +1572,10 @@ function extractExecutionSummary(output) {
|
|
|
1569
1572
|
let summary = match[1].trim();
|
|
1570
1573
|
const trailingSeparators = [
|
|
1571
1574
|
"\u2713 Local peer-review completed",
|
|
1575
|
+
"\u2713 Local peer-review on",
|
|
1576
|
+
"\u26A0\uFE0F Local peer-review on",
|
|
1577
|
+
"\u2713 Targeted peer-review on",
|
|
1578
|
+
"\u26A0\uFE0F Targeted peer-review on",
|
|
1572
1579
|
"\u2713 Local autowork completed",
|
|
1573
1580
|
"\u2713 Local agent session",
|
|
1574
1581
|
"Peer Review Watchdog:",
|
|
@@ -2025,6 +2032,91 @@ function formatEvaluatingDescription(toolName, params, output) {
|
|
|
2025
2032
|
}
|
|
2026
2033
|
return `Evaluating ${name} output...`;
|
|
2027
2034
|
}
|
|
2035
|
+
function detectPeerReviewOutcome(options) {
|
|
2036
|
+
const { output, logContent, prNumber, repoRoot } = options;
|
|
2037
|
+
const contentToCheck = [logContent, output].filter(Boolean).join("\n");
|
|
2038
|
+
if (contentToCheck) {
|
|
2039
|
+
const tableDecisionMatch = contentToCheck.match(/\|\s*Decision\s*\|\s*`?([A-Z_]+)`?\s*\|/i);
|
|
2040
|
+
if (tableDecisionMatch) {
|
|
2041
|
+
const d = tableDecisionMatch[1].toUpperCase();
|
|
2042
|
+
if (d === "MERGE" || d === "MERGED") return "merged";
|
|
2043
|
+
if (d === "BOUNCE" || d === "BOUNCED" || d === "DRAFT") return "bounced";
|
|
2044
|
+
if (d === "DEFER_CI" || d === "DEFERRED_CI" || d === "DEFERRED") return "deferred_ci";
|
|
2045
|
+
if (d === "ESCALATE" || d === "ESCALATED") return "escalated";
|
|
2046
|
+
if (d === "NO_PRS") return "no_prs";
|
|
2047
|
+
}
|
|
2048
|
+
const milestoneMatch = contentToCheck.match(
|
|
2049
|
+
/Review completed with decision\s+`?<?(MERGE|BOUNCE|ESCALATE|DEFER_CI)>?`?/i
|
|
2050
|
+
);
|
|
2051
|
+
if (milestoneMatch) {
|
|
2052
|
+
const d = milestoneMatch[1].toUpperCase();
|
|
2053
|
+
if (d === "MERGE") return "merged";
|
|
2054
|
+
if (d === "BOUNCE") return "bounced";
|
|
2055
|
+
if (d === "DEFER_CI") return "deferred_ci";
|
|
2056
|
+
if (d === "ESCALATE") return "escalated";
|
|
2057
|
+
}
|
|
2058
|
+
const finalActionMatch = contentToCheck.match(/\*\*Final Action\*\*:\s*([^\n]+)/i);
|
|
2059
|
+
if (finalActionMatch) {
|
|
2060
|
+
const fa = finalActionMatch[1];
|
|
2061
|
+
if (/merge/i.test(fa)) return "merged";
|
|
2062
|
+
if (/bounce|draft/i.test(fa)) return "bounced";
|
|
2063
|
+
if (/defer|ci/i.test(fa)) return "deferred_ci";
|
|
2064
|
+
if (/escalat/i.test(fa)) return "escalated";
|
|
2065
|
+
}
|
|
2066
|
+
const hasMergeCommand = /gh\s+pr\s+merge\s+\d+/i.test(contentToCheck) || /gh\s+pr\s+merge[^\n]*--squash/i.test(contentToCheck) || /(?:Squash-merged|Merged)\s+PR\s*#?\d+/i.test(contentToCheck) || /Closed via PR\s*#?\d+\s*\(merged into main\)/i.test(contentToCheck);
|
|
2067
|
+
const hasBounceCommand = /gh\s+pr\s+ready\s+\d+\s+--undo/i.test(contentToCheck) || /gh\s+pr\s+ready\s+--undo/i.test(contentToCheck) || /(?:converted|bounced)\s+PR\s*#?\d+\s+(?:back\s+)?to draft/i.test(contentToCheck) || /converted\s+(?:the\s+)?PR\s+to draft/i.test(contentToCheck) || /bounced\s+(?:the\s+)?PR\s+back to draft/i.test(contentToCheck);
|
|
2068
|
+
const hasDeferredCI = /Waiting for in-progress remote CI checks/i.test(contentToCheck) || /awaiting completion of in-progress remote CI checks/i.test(contentToCheck);
|
|
2069
|
+
const hasEscalate = /needs-human/i.test(contentToCheck) || /🛑 Escalation: Human Decision Required/i.test(contentToCheck);
|
|
2070
|
+
const hasNoPRs = /No PRs to review/i.test(contentToCheck) || /0 ready PRs found/i.test(contentToCheck);
|
|
2071
|
+
if (hasMergeCommand && !hasBounceCommand) return "merged";
|
|
2072
|
+
if (hasBounceCommand && !hasMergeCommand) return "bounced";
|
|
2073
|
+
if (hasDeferredCI && !hasBounceCommand) return "deferred_ci";
|
|
2074
|
+
if (hasEscalate) return "escalated";
|
|
2075
|
+
if (hasNoPRs) return "no_prs";
|
|
2076
|
+
}
|
|
2077
|
+
if (repoRoot && prNumber) {
|
|
2078
|
+
try {
|
|
2079
|
+
const cleanPr = String(prNumber).replace(/\D/g, "");
|
|
2080
|
+
if (cleanPr) {
|
|
2081
|
+
const stdout = execFileSync("gh", ["pr", "view", cleanPr, "--json", "state,isDraft"], {
|
|
2082
|
+
cwd: repoRoot,
|
|
2083
|
+
encoding: "utf8",
|
|
2084
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
2085
|
+
timeout: 2500
|
|
2086
|
+
});
|
|
2087
|
+
const data = JSON.parse(stdout);
|
|
2088
|
+
if (data.state === "MERGED") return "merged";
|
|
2089
|
+
if (data.isDraft === true) return "bounced";
|
|
2090
|
+
if (data.state === "OPEN" && data.isDraft === false) return "deferred_ci";
|
|
2091
|
+
}
|
|
2092
|
+
} catch {
|
|
2093
|
+
}
|
|
2094
|
+
}
|
|
2095
|
+
return "unknown";
|
|
2096
|
+
}
|
|
2097
|
+
function formatPeerReviewOutcomeMessage(targetLabel, outcome, prefix = "Local") {
|
|
2098
|
+
switch (outcome) {
|
|
2099
|
+
case "merged":
|
|
2100
|
+
return pc.green(`\u2713 ${prefix} peer-review on ${targetLabel}: merged into main.
|
|
2101
|
+
`);
|
|
2102
|
+
case "bounced":
|
|
2103
|
+
return pc.yellow(`\u26A0\uFE0F ${prefix} peer-review on ${targetLabel}: bounced to draft.
|
|
2104
|
+
`);
|
|
2105
|
+
case "deferred_ci":
|
|
2106
|
+
return pc.cyan(`\u23F3 ${prefix} peer-review on ${targetLabel}: approved (deferred merge pending CI).
|
|
2107
|
+
`);
|
|
2108
|
+
case "escalated":
|
|
2109
|
+
return pc.red(`\u{1F6A8} ${prefix} peer-review on ${targetLabel}: escalated to human.
|
|
2110
|
+
`);
|
|
2111
|
+
case "no_prs":
|
|
2112
|
+
return pc.dim(`\u2713 ${prefix} peer-review: no PRs to review.
|
|
2113
|
+
`);
|
|
2114
|
+
case "unknown":
|
|
2115
|
+
default:
|
|
2116
|
+
return pc.green(`\u2713 ${prefix} peer-review on ${targetLabel} completed successfully.
|
|
2117
|
+
`);
|
|
2118
|
+
}
|
|
2119
|
+
}
|
|
2028
2120
|
function renderSummaryCard(options) {
|
|
2029
2121
|
const width = Math.min(Math.max((process.stdout.columns || 80) - 4, 64), 90);
|
|
2030
2122
|
const horizontal = "\u2500".repeat(width - 2);
|
|
@@ -2069,6 +2161,29 @@ function renderSummaryCard(options) {
|
|
|
2069
2161
|
const decisionMatch = rawSummary.match(/\*\*Final Action\*\*:\s*([^\n]+)/i);
|
|
2070
2162
|
if (decisionMatch) decision = decisionMatch[1].replace(/[`*]/g, "").trim();
|
|
2071
2163
|
}
|
|
2164
|
+
if (options.routine === "peer-review") {
|
|
2165
|
+
const prMatch = target.match(/PR\s*#?(\d+)/i);
|
|
2166
|
+
const cleanPrNum = options.pr || (prMatch ? prMatch[1] : void 0);
|
|
2167
|
+
const detectedOutcome = detectPeerReviewOutcome({
|
|
2168
|
+
output: options.output,
|
|
2169
|
+
prNumber: cleanPrNum,
|
|
2170
|
+
repoRoot: options.repoRoot
|
|
2171
|
+
});
|
|
2172
|
+
if (!decision) {
|
|
2173
|
+
if (detectedOutcome === "merged") decision = "Merged into main";
|
|
2174
|
+
else if (detectedOutcome === "bounced") decision = "Bounced to draft";
|
|
2175
|
+
else if (detectedOutcome === "deferred_ci") decision = "Approved (deferred merge pending CI)";
|
|
2176
|
+
else if (detectedOutcome === "escalated") decision = "Escalated to human";
|
|
2177
|
+
else if (detectedOutcome === "no_prs") decision = "No PRs to review";
|
|
2178
|
+
} else {
|
|
2179
|
+
const dUpper = decision.toUpperCase();
|
|
2180
|
+
if (dUpper === "MERGE" || dUpper === "MERGED") decision = "Merged into main";
|
|
2181
|
+
else if (dUpper === "BOUNCE" || dUpper === "BOUNCED") decision = "Bounced to draft";
|
|
2182
|
+
else if (dUpper === "DEFER_CI" || dUpper === "DEFERRED_CI") decision = "Approved (deferred merge pending CI)";
|
|
2183
|
+
else if (dUpper === "ESCALATE" || dUpper === "ESCALATED") decision = "Escalated to human";
|
|
2184
|
+
else if (dUpper === "NO_PRS") decision = "No PRs to review";
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2072
2187
|
const durationStr = options.durationMs ? `${Math.round(options.durationMs / 1e3)}s` : parsedFromLog?.duration || "";
|
|
2073
2188
|
const border = (s) => pc.dim(pc.gray(s));
|
|
2074
2189
|
const lines = [];
|
|
@@ -2097,15 +2212,19 @@ function renderSummaryCard(options) {
|
|
|
2097
2212
|
let decisionBadge = pc.green(`\u2714 ${decision}`);
|
|
2098
2213
|
if (/bounce|draft|reject|fail/i.test(decision)) {
|
|
2099
2214
|
decisionBadge = pc.yellow(`\u26A0\uFE0F ${decision}`);
|
|
2215
|
+
} else if (/defer|pending|wait/i.test(decision)) {
|
|
2216
|
+
decisionBadge = pc.cyan(`\u23F3 ${decision}`);
|
|
2100
2217
|
} else if (/escalat/i.test(decision)) {
|
|
2101
2218
|
decisionBadge = pc.red(`\u{1F6A8} ${decision}`);
|
|
2219
|
+
} else if (/no prs/i.test(decision)) {
|
|
2220
|
+
decisionBadge = pc.dim(decision);
|
|
2102
2221
|
}
|
|
2103
2222
|
const decisionPlain = ` Action: ${decision}`;
|
|
2104
2223
|
lines.push(
|
|
2105
2224
|
border("\u2502") + ` Action: ${decisionBadge}` + " ".repeat(Math.max(1, width - 3 - decisionPlain.length)) + border("\u2502")
|
|
2106
2225
|
);
|
|
2107
2226
|
}
|
|
2108
|
-
|
|
2227
|
+
const bodyLines = [];
|
|
2109
2228
|
if (rawSummary) {
|
|
2110
2229
|
const summaryLines = rawSummary.split("\n");
|
|
2111
2230
|
for (const rawLine of summaryLines) {
|
|
@@ -2118,7 +2237,7 @@ function renderSummaryCard(options) {
|
|
|
2118
2237
|
}
|
|
2119
2238
|
if (line.startsWith("### ")) {
|
|
2120
2239
|
const heading = line.replace("### ", "").trim();
|
|
2121
|
-
|
|
2240
|
+
bodyLines.push(
|
|
2122
2241
|
border("\u2502") + ` ${pc.bold(pc.cyan(heading))}` + " ".repeat(Math.max(1, width - 3 - heading.length)) + border("\u2502")
|
|
2123
2242
|
);
|
|
2124
2243
|
} else if (line.startsWith("- ") || line.startsWith("* ")) {
|
|
@@ -2129,11 +2248,11 @@ function renderSummaryCard(options) {
|
|
|
2129
2248
|
const wLine = wrapped[i];
|
|
2130
2249
|
const wPlain = stripAnsi(wLine);
|
|
2131
2250
|
if (i === 0) {
|
|
2132
|
-
|
|
2251
|
+
bodyLines.push(
|
|
2133
2252
|
border("\u2502") + ` \u2022 ${wLine}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2134
2253
|
);
|
|
2135
2254
|
} else {
|
|
2136
|
-
|
|
2255
|
+
bodyLines.push(
|
|
2137
2256
|
border("\u2502") + ` ${wLine}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2138
2257
|
);
|
|
2139
2258
|
}
|
|
@@ -2146,11 +2265,11 @@ function renderSummaryCard(options) {
|
|
|
2146
2265
|
const wLine = wrapped[i];
|
|
2147
2266
|
const wPlain = stripAnsi(wLine);
|
|
2148
2267
|
if (i === 0) {
|
|
2149
|
-
|
|
2268
|
+
bodyLines.push(
|
|
2150
2269
|
border("\u2502") + ` \u2714 ${wLine}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2151
2270
|
);
|
|
2152
2271
|
} else {
|
|
2153
|
-
|
|
2272
|
+
bodyLines.push(
|
|
2154
2273
|
border("\u2502") + ` ${wLine}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2155
2274
|
);
|
|
2156
2275
|
}
|
|
@@ -2158,7 +2277,7 @@ function renderSummaryCard(options) {
|
|
|
2158
2277
|
}
|
|
2159
2278
|
}
|
|
2160
2279
|
} else if (parsedFromLog && parsedFromLog.passes && parsedFromLog.passes.length > 0) {
|
|
2161
|
-
|
|
2280
|
+
bodyLines.push(border("\u2502") + ` ${pc.bold("Verification Passes:")}` + " ".repeat(Math.max(1, width - 23)) + border("\u2502"));
|
|
2162
2281
|
for (const pass of parsedFromLog.passes.slice(0, 6)) {
|
|
2163
2282
|
const icon = pass.status === "pass" ? pc.green("\u2714") : pc.red("\u2716");
|
|
2164
2283
|
let criterionName = pass.name;
|
|
@@ -2172,35 +2291,68 @@ function renderSummaryCard(options) {
|
|
|
2172
2291
|
const wLine = wrapped[i];
|
|
2173
2292
|
const wPlain = stripAnsi(wLine);
|
|
2174
2293
|
if (i === 0) {
|
|
2175
|
-
|
|
2294
|
+
bodyLines.push(
|
|
2176
2295
|
border("\u2502") + ` ${icon} ${wLine}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2177
2296
|
);
|
|
2178
2297
|
} else {
|
|
2179
|
-
|
|
2298
|
+
bodyLines.push(
|
|
2180
2299
|
border("\u2502") + ` ${pc.dim(wLine)}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2181
2300
|
);
|
|
2182
2301
|
}
|
|
2183
2302
|
}
|
|
2184
2303
|
}
|
|
2185
2304
|
if (parsedFromLog.actions && parsedFromLog.actions.length > 0) {
|
|
2186
|
-
|
|
2305
|
+
bodyLines.push(border("\u2502") + ` ${pc.bold("Actions Taken:")}` + " ".repeat(Math.max(1, width - 16)) + border("\u2502"));
|
|
2187
2306
|
for (const action of parsedFromLog.actions.slice(0, 4)) {
|
|
2188
2307
|
const wrapped = wrapText(action, width - 8);
|
|
2189
2308
|
for (let i = 0; i < wrapped.length; i++) {
|
|
2190
2309
|
const wLine = wrapped[i];
|
|
2191
2310
|
const wPlain = stripAnsi(wLine);
|
|
2192
2311
|
if (i === 0) {
|
|
2193
|
-
|
|
2312
|
+
bodyLines.push(
|
|
2194
2313
|
border("\u2502") + ` \u2022 ${wLine}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2195
2314
|
);
|
|
2196
2315
|
} else {
|
|
2197
|
-
|
|
2316
|
+
bodyLines.push(
|
|
2198
2317
|
border("\u2502") + ` ${wLine}` + " ".repeat(Math.max(1, width - 5 - wPlain.length)) + border("\u2502")
|
|
2199
2318
|
);
|
|
2200
2319
|
}
|
|
2201
2320
|
}
|
|
2202
2321
|
}
|
|
2203
2322
|
}
|
|
2323
|
+
} else if (options.routine === "peer-review" && decision) {
|
|
2324
|
+
let detail = "";
|
|
2325
|
+
if (/merged/i.test(decision)) {
|
|
2326
|
+
detail = "PR approved and squash-merged into main.";
|
|
2327
|
+
} else if (/bounce|draft/i.test(decision)) {
|
|
2328
|
+
detail = "PR converted to draft for author/autowork fixes.";
|
|
2329
|
+
} else if (/defer|ci/i.test(decision)) {
|
|
2330
|
+
detail = "Clean review; awaiting in-progress remote CI checks before merge.";
|
|
2331
|
+
} else if (/escalat/i.test(decision)) {
|
|
2332
|
+
detail = "Escalated to human review (needs-human).";
|
|
2333
|
+
}
|
|
2334
|
+
if (detail) {
|
|
2335
|
+
const wrapped = wrapText(detail, width - 8);
|
|
2336
|
+
for (let i = 0; i < wrapped.length; i++) {
|
|
2337
|
+
const wLine = wrapped[i];
|
|
2338
|
+
const wPlain = stripAnsi(wLine);
|
|
2339
|
+
const icon = /merged/i.test(decision) ? pc.green(" \u2714 ") : pc.yellow(" \u26A0\uFE0F ");
|
|
2340
|
+
const iconPlain = " \u2714 ";
|
|
2341
|
+
if (i === 0) {
|
|
2342
|
+
bodyLines.push(
|
|
2343
|
+
border("\u2502") + `${icon}${wLine}` + " ".repeat(Math.max(1, width - 1 - iconPlain.length - wPlain.length)) + border("\u2502")
|
|
2344
|
+
);
|
|
2345
|
+
} else {
|
|
2346
|
+
bodyLines.push(
|
|
2347
|
+
border("\u2502") + ` ${wLine}` + " ".repeat(Math.max(1, width - 7 - wPlain.length)) + border("\u2502")
|
|
2348
|
+
);
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
2353
|
+
if (bodyLines.length > 0) {
|
|
2354
|
+
lines.push(border(`\u251C${horizontal}\u2524`));
|
|
2355
|
+
lines.push(...bodyLines);
|
|
2204
2356
|
}
|
|
2205
2357
|
if (parsedFromLog?.logPath) {
|
|
2206
2358
|
lines.push(border(`\u251C${horizontal}\u2524`));
|
|
@@ -2368,7 +2520,8 @@ function renderBacklogDiagnosticCard(report, options) {
|
|
|
2368
2520
|
);
|
|
2369
2521
|
for (const item of items) {
|
|
2370
2522
|
const itemTitle = cleanTargetTitle(item.title, width - 36);
|
|
2371
|
-
const
|
|
2523
|
+
const labelStr = typeof reasonLabel === "function" ? reasonLabel(item) : reasonLabel;
|
|
2524
|
+
const text = `\u2022 #${item.number}: ${itemTitle} (${labelStr})`;
|
|
2372
2525
|
const wrapped = wrapText(text, width - 8);
|
|
2373
2526
|
for (let i = 0; i < wrapped.length; i++) {
|
|
2374
2527
|
const wLine = wrapped[i];
|
|
@@ -2380,7 +2533,19 @@ function renderBacklogDiagnosticCard(report, options) {
|
|
|
2380
2533
|
}
|
|
2381
2534
|
};
|
|
2382
2535
|
if (report.gatedHuman && report.gatedHuman.length > 0) {
|
|
2383
|
-
renderSection(
|
|
2536
|
+
renderSection(
|
|
2537
|
+
"Gated by Human Decision (needs-human / needs-attention / radar):",
|
|
2538
|
+
pc.red,
|
|
2539
|
+
report.gatedHuman,
|
|
2540
|
+
(item) => {
|
|
2541
|
+
const labels = (item.labels || []).map(
|
|
2542
|
+
(l) => (typeof l === "string" ? l : l.name).toLowerCase()
|
|
2543
|
+
);
|
|
2544
|
+
if (isRadarDigestTitle(item.title) || labels.includes("radar")) return "Radar: intel digest";
|
|
2545
|
+
if (labels.includes("needs-attention")) return "Gated: needs-attention";
|
|
2546
|
+
return "Gated: needs-human";
|
|
2547
|
+
}
|
|
2548
|
+
);
|
|
2384
2549
|
}
|
|
2385
2550
|
if (report.awaitingInfo && report.awaitingInfo.length > 0) {
|
|
2386
2551
|
renderSection(
|
|
@@ -4715,6 +4880,25 @@ function formatFallbackRunReport(options) {
|
|
|
4715
4880
|
| Target | \`${options.targetLabel}\` |
|
|
4716
4881
|
| Duration | \`${options.durationSec}s\` |
|
|
4717
4882
|
`;
|
|
4883
|
+
if (options.routine === "peer-review" && options.exitCode === 0) {
|
|
4884
|
+
const outcome = detectPeerReviewOutcome({ output: options.output });
|
|
4885
|
+
const decisionMap = {
|
|
4886
|
+
merged: "MERGE",
|
|
4887
|
+
bounced: "BOUNCE",
|
|
4888
|
+
deferred_ci: "DEFER_CI",
|
|
4889
|
+
escalated: "ESCALATE",
|
|
4890
|
+
no_prs: "NO_PRS"
|
|
4891
|
+
};
|
|
4892
|
+
if (decisionMap[outcome]) {
|
|
4893
|
+
reportContent = reportContent.replace(
|
|
4894
|
+
`| Duration | \`${options.durationSec}s\` |
|
|
4895
|
+
`,
|
|
4896
|
+
`| Duration | \`${options.durationSec}s\` |
|
|
4897
|
+
| Decision | \`${decisionMap[outcome]}\` |
|
|
4898
|
+
`
|
|
4899
|
+
);
|
|
4900
|
+
}
|
|
4901
|
+
}
|
|
4718
4902
|
if (options.exitCode !== 0) {
|
|
4719
4903
|
const errorChunks = [options.output?.trim(), options.stderr?.trim()].filter(Boolean);
|
|
4720
4904
|
const combinedError = errorChunks.join("\n");
|
|
@@ -5202,11 +5386,11 @@ Timeout: ${printTimeout}`,
|
|
|
5202
5386
|
if (routineIssueNumber) {
|
|
5203
5387
|
tryReconcileLocalRunIssue(targetDir, routineIssueNumber, reportContent, exitCode, hostname, routine, quotaInfo);
|
|
5204
5388
|
}
|
|
5389
|
+
const prMatch = targetLabel.match(/PR\s*#?(\d+)/i);
|
|
5390
|
+
const issueMatch = targetLabel.match(/Issue\s*#?(\d+)/i);
|
|
5391
|
+
const effectiveIssue = options.issue || (issueMatch ? issueMatch[1] : void 0);
|
|
5392
|
+
const effectivePR = options.pr || (prMatch ? prMatch[1] : void 0);
|
|
5205
5393
|
if (options.showCard !== false && !options.verbose) {
|
|
5206
|
-
const prMatch = targetLabel.match(/PR\s*#?(\d+)/i);
|
|
5207
|
-
const issueMatch = targetLabel.match(/Issue\s*#?(\d+)/i);
|
|
5208
|
-
const effectiveIssue = options.issue || (issueMatch ? issueMatch[1] : void 0);
|
|
5209
|
-
const effectivePR = options.pr || (prMatch ? prMatch[1] : void 0);
|
|
5210
5394
|
if (exitCode === 0) {
|
|
5211
5395
|
console.log(
|
|
5212
5396
|
"\n" + renderSummaryCard({
|
|
@@ -5243,7 +5427,13 @@ Timeout: ${printTimeout}`,
|
|
|
5243
5427
|
issueNumber: routineIssueNumber,
|
|
5244
5428
|
quotaPaused: quotaInfo.isQuota,
|
|
5245
5429
|
quotaResetInfo: quotaInfo.resetInfo,
|
|
5246
|
-
transientServiceError
|
|
5430
|
+
transientServiceError,
|
|
5431
|
+
durationMs,
|
|
5432
|
+
outcome: routine === "peer-review" && exitCode === 0 ? detectPeerReviewOutcome({
|
|
5433
|
+
output,
|
|
5434
|
+
prNumber: effectivePR,
|
|
5435
|
+
repoRoot: targetDir
|
|
5436
|
+
}) : void 0
|
|
5247
5437
|
};
|
|
5248
5438
|
}
|
|
5249
5439
|
|
|
@@ -5298,8 +5488,18 @@ async function runRoutineCommand(routine, options = {}) {
|
|
|
5298
5488
|
return;
|
|
5299
5489
|
}
|
|
5300
5490
|
if (result.success) {
|
|
5301
|
-
|
|
5491
|
+
if (routine === "peer-review") {
|
|
5492
|
+
const targetStr = options.pr ? `PR #${options.pr}` : "PR";
|
|
5493
|
+
const outcome = result.outcome || detectPeerReviewOutcome({
|
|
5494
|
+
output: result.output,
|
|
5495
|
+
prNumber: options.pr,
|
|
5496
|
+
repoRoot: cwd
|
|
5497
|
+
});
|
|
5498
|
+
console.log("\n" + formatPeerReviewOutcomeMessage(targetStr, outcome, "Local").trimEnd());
|
|
5499
|
+
} else {
|
|
5500
|
+
console.log(pc12.green(`
|
|
5302
5501
|
\u2713 Local agent session for '${routine}' completed successfully.`));
|
|
5502
|
+
}
|
|
5303
5503
|
} else {
|
|
5304
5504
|
console.error(pc12.red(`
|
|
5305
5505
|
\u2717 Local agent session for '${routine}' failed with exit code ${result.exitCode}.`));
|
|
@@ -5856,7 +6056,7 @@ function classifyBacklogIssues(issues, openPRs = []) {
|
|
|
5856
6056
|
routineLogs.push(issue);
|
|
5857
6057
|
continue;
|
|
5858
6058
|
}
|
|
5859
|
-
if (labelNames.includes("needs-human") || gatedDraftPRReferencedIssues.has(issue.number)) {
|
|
6059
|
+
if (labelNames.includes("needs-human") || labelNames.includes("needs-attention") || labelNames.includes("radar") || isRadarDigestTitle(issue.title) || gatedDraftPRReferencedIssues.has(issue.number)) {
|
|
5860
6060
|
gatedHuman.push(issue);
|
|
5861
6061
|
continue;
|
|
5862
6062
|
}
|
|
@@ -6220,8 +6420,12 @@ async function drainReviewQueue(drainOptions) {
|
|
|
6220
6420
|
break;
|
|
6221
6421
|
}
|
|
6222
6422
|
if (result.success) {
|
|
6223
|
-
|
|
6224
|
-
|
|
6423
|
+
const outcome = result.outcome || detectPeerReviewOutcome({
|
|
6424
|
+
output: result.output,
|
|
6425
|
+
prNumber: prNum,
|
|
6426
|
+
repoRoot
|
|
6427
|
+
});
|
|
6428
|
+
console.log(formatPeerReviewOutcomeMessage(targetLabel, outcome, "Local"));
|
|
6225
6429
|
if (typeof prNum === "number") {
|
|
6226
6430
|
failureCooldowns?.delete(prNum);
|
|
6227
6431
|
}
|
|
@@ -6639,8 +6843,12 @@ Stopping local agent daemon...`));
|
|
|
6639
6843
|
}
|
|
6640
6844
|
});
|
|
6641
6845
|
if (result.success) {
|
|
6642
|
-
|
|
6643
|
-
|
|
6846
|
+
const outcome = result.outcome || detectPeerReviewOutcome({
|
|
6847
|
+
output: result.output,
|
|
6848
|
+
prNumber,
|
|
6849
|
+
repoRoot
|
|
6850
|
+
});
|
|
6851
|
+
console.log(formatPeerReviewOutcomeMessage(`PR #${prNumber}`, outcome, "Targeted"));
|
|
6644
6852
|
} else {
|
|
6645
6853
|
console.warn(pc14.yellow(`\u26A0\uFE0F Targeted peer-review on PR #${prNumber} completed with code ${result.exitCode}.
|
|
6646
6854
|
`));
|
package/dist/lib/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"AA0BA,OAAO,
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/runner.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PeerReviewOutcome } from './terminal-card.js';
|
|
1
2
|
export interface RunLocalRoutineOptions {
|
|
2
3
|
targetDir: string;
|
|
3
4
|
routine: string;
|
|
@@ -26,6 +27,8 @@ export interface RunLocalRoutineResult {
|
|
|
26
27
|
quotaPaused?: boolean;
|
|
27
28
|
quotaResetInfo?: string;
|
|
28
29
|
transientServiceError?: boolean;
|
|
30
|
+
durationMs?: number;
|
|
31
|
+
outcome?: PeerReviewOutcome;
|
|
29
32
|
}
|
|
30
33
|
export interface StreamJsonEvent {
|
|
31
34
|
event?: string;
|
package/dist/lib/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,10 @@ export declare function fetchTargetTitleAsync(repoRoot: string, target: string):
|
|
|
55
55
|
* Returns true if a title represents an autonomous routine execution log rather than a target backlog issue.
|
|
56
56
|
*/
|
|
57
57
|
export declare function isRoutineRunTitle(title: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Returns true if a title represents an upstream ecosystem radar or intel digest issue.
|
|
60
|
+
*/
|
|
61
|
+
export declare function isRadarDigestTitle(title: string): boolean;
|
|
58
62
|
/**
|
|
59
63
|
* Strips temporary worktree roots and converts absolute worktree paths to clean relative paths.
|
|
60
64
|
*/
|
|
@@ -114,6 +118,27 @@ export declare function formatSubagentsProgress(outputOrSubagents: any): string
|
|
|
114
118
|
* Formats granular description when a tool finishes and the agent evaluates its results.
|
|
115
119
|
*/
|
|
116
120
|
export declare function formatEvaluatingDescription(toolName: string, params?: Record<string, any>, output?: string): string;
|
|
121
|
+
export type PeerReviewOutcome = 'merged' | 'bounced' | 'deferred_ci' | 'escalated' | 'no_prs' | 'unknown';
|
|
122
|
+
export interface DetectPeerReviewOutcomeOptions {
|
|
123
|
+
output?: string;
|
|
124
|
+
logContent?: string;
|
|
125
|
+
prNumber?: number | string;
|
|
126
|
+
repoRoot?: string;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Detects the specific outcome of a peer-review routine run:
|
|
130
|
+
* - 'merged': PR was approved and squash-merged into main
|
|
131
|
+
* - 'bounced': PR had blocking findings and was converted back to draft
|
|
132
|
+
* - 'deferred_ci': PR is clean but merge is deferred awaiting in-progress remote CI checks
|
|
133
|
+
* - 'escalated': PR reached round cap or stalled and was escalated to human with needs-human
|
|
134
|
+
* - 'no_prs': Scan mode found 0 eligible PRs to review
|
|
135
|
+
* - 'unknown': No decisive outcome detected
|
|
136
|
+
*/
|
|
137
|
+
export declare function detectPeerReviewOutcome(options: DetectPeerReviewOutcomeOptions): PeerReviewOutcome;
|
|
138
|
+
/**
|
|
139
|
+
* Formats a clear, informative peer-review completion line for terminal output.
|
|
140
|
+
*/
|
|
141
|
+
export declare function formatPeerReviewOutcomeMessage(targetLabel: string, outcome: PeerReviewOutcome, prefix?: 'Local' | 'Targeted'): string;
|
|
117
142
|
/**
|
|
118
143
|
* Renders a styled Unicode summary card.
|
|
119
144
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-card.d.ts","sourceRoot":"","sources":["../../src/lib/terminal-card.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsCnE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BhF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyBpG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"terminal-card.d.ts","sourceRoot":"","sources":["../../src/lib/terminal-card.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED