@urateam/core 0.1.9 → 0.1.11
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/dist/__tests__/extract-handoff.test.js +218 -0
- package/dist/__tests__/extract-handoff.test.js.map +1 -1
- package/dist/__tests__/pr-description.test.js +51 -0
- package/dist/__tests__/pr-description.test.js.map +1 -1
- package/dist/__tests__/ralph.test.js +45 -3
- package/dist/__tests__/ralph.test.js.map +1 -1
- package/dist/executor/executor.d.ts.map +1 -1
- package/dist/executor/executor.js +7 -1
- package/dist/executor/executor.js.map +1 -1
- package/dist/executor/extract-handoff.d.ts +17 -7
- package/dist/executor/extract-handoff.d.ts.map +1 -1
- package/dist/executor/extract-handoff.js +109 -32
- package/dist/executor/extract-handoff.js.map +1 -1
- package/dist/executor/handoff.d.ts.map +1 -1
- package/dist/executor/handoff.js +32 -8
- package/dist/executor/handoff.js.map +1 -1
- package/dist/executor/ralph.d.ts +15 -0
- package/dist/executor/ralph.d.ts.map +1 -1
- package/dist/executor/ralph.js +24 -3
- package/dist/executor/ralph.js.map +1 -1
- package/dist/pipeline/pr-description.d.ts +12 -0
- package/dist/pipeline/pr-description.d.ts.map +1 -1
- package/dist/pipeline/pr-description.js +14 -3
- package/dist/pipeline/pr-description.js.map +1 -1
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +64 -10
- package/dist/pipeline/runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/executor/executor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/executor/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,26 @@ import type { HandoffParseResult } from "./handoff.js";
|
|
|
5
5
|
*
|
|
6
6
|
* Strategy:
|
|
7
7
|
* 1. Fast path: if the agent already produced valid JSON, use it — but
|
|
8
|
-
* cross-check against `git status --porcelain`
|
|
9
|
-
* `
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* the
|
|
8
|
+
* cross-check against the union of `git status --porcelain` (uncommitted)
|
|
9
|
+
* and `git diff --name-only baseRef...HEAD` (committed on this branch
|
|
10
|
+
* since it diverged from baseRef). Override an empty `filesChanged`
|
|
11
|
+
* list when git shows real changes (urateam#35). The committed-half
|
|
12
|
+
* of that union is load-bearing: the runner runs autoCommitChanges
|
|
13
|
+
* between stages, so by review-stage time the worktree is clean even
|
|
14
|
+
* though the implement stage modified N files. Status alone misses
|
|
15
|
+
* that case (gap from PR #95).
|
|
14
16
|
* 2. Otherwise, run git commands to get actual file changes and build the
|
|
15
17
|
* handoff programmatically from the diff + agent's raw text output
|
|
16
18
|
*
|
|
17
19
|
* No agent subprocess needed — this is fast and deterministic.
|
|
18
20
|
*/
|
|
19
|
-
export declare function extractHandoff(agentOutput: string, runId: string, issueId: string, stage: string, workdir: string
|
|
21
|
+
export declare function extractHandoff(agentOutput: string, runId: string, issueId: string, stage: string, workdir: string,
|
|
22
|
+
/**
|
|
23
|
+
* Optional base ref (e.g., "origin/main") to compare HEAD against for the
|
|
24
|
+
* "agent committed work on the branch" portion of the empty-filesChanged
|
|
25
|
+
* override. When absent, only the worktree (`git status --porcelain`) is
|
|
26
|
+
* consulted — i.e., the PR #95 behavior. Pass the full ref form including
|
|
27
|
+
* any `origin/` prefix the caller wants.
|
|
28
|
+
*/
|
|
29
|
+
baseRef?: string): Promise<HandoffParseResult>;
|
|
20
30
|
//# sourceMappingURL=extract-handoff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-handoff.d.ts","sourceRoot":"","sources":["../../src/executor/extract-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-handoff.d.ts","sourceRoot":"","sources":["../../src/executor/extract-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAgEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM;AACf;;;;;;GAMG;AACH,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CA4H7B"}
|
|
@@ -19,50 +19,91 @@ function parseGitPorcelain(statusOutput) {
|
|
|
19
19
|
})
|
|
20
20
|
.filter(Boolean);
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse `git diff --name-only` output into a list of changed file paths.
|
|
24
|
+
* Newline-separated; one path per line.
|
|
25
|
+
*/
|
|
26
|
+
function parseGitDiffNames(output) {
|
|
27
|
+
if (!output)
|
|
28
|
+
return [];
|
|
29
|
+
return output.split("\n").map((p) => p.trim()).filter(Boolean);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Compute "what did the agent change in this branch" by combining the
|
|
33
|
+
* uncommitted worktree state (`git status --porcelain`) with the
|
|
34
|
+
* already-committed-on-the-branch diff against `baseRef` (`git diff
|
|
35
|
+
* --name-only baseRef...HEAD`).
|
|
36
|
+
*
|
|
37
|
+
* Both signals are needed because the runner runs `autoCommitChanges`
|
|
38
|
+
* between stages — which means a review-stage handoff sees a clean
|
|
39
|
+
* worktree, even though the implement stage just modified 15 files. Status
|
|
40
|
+
* alone misses those committed-then-rewound changes.
|
|
41
|
+
*
|
|
42
|
+
* fail-open: gitExecRaw resolves to "" on error, so a missing baseRef
|
|
43
|
+
* (e.g., no `origin/main` configured in a test repo) is silent.
|
|
44
|
+
*/
|
|
45
|
+
async function gitChangedFilesAcross(workdir, baseRef) {
|
|
46
|
+
const statusOutput = await gitExecRaw(["status", "--porcelain"], workdir);
|
|
47
|
+
const fromStatus = parseGitPorcelain(statusOutput);
|
|
48
|
+
if (!baseRef)
|
|
49
|
+
return fromStatus;
|
|
50
|
+
const diffOutput = await gitExecRaw(["diff", "--name-only", `${baseRef}...HEAD`], workdir);
|
|
51
|
+
const fromDiff = parseGitDiffNames(diffOutput);
|
|
52
|
+
// Dedupe in case a file shows up in both (unlikely but possible if the
|
|
53
|
+
// agent partially committed and then made more edits).
|
|
54
|
+
return Array.from(new Set([...fromStatus, ...fromDiff]));
|
|
55
|
+
}
|
|
22
56
|
/**
|
|
23
57
|
* Extract a structured handoff artifact from the stage agent's raw output
|
|
24
58
|
* and the actual worktree state.
|
|
25
59
|
*
|
|
26
60
|
* Strategy:
|
|
27
61
|
* 1. Fast path: if the agent already produced valid JSON, use it — but
|
|
28
|
-
* cross-check against `git status --porcelain`
|
|
29
|
-
* `
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* the
|
|
62
|
+
* cross-check against the union of `git status --porcelain` (uncommitted)
|
|
63
|
+
* and `git diff --name-only baseRef...HEAD` (committed on this branch
|
|
64
|
+
* since it diverged from baseRef). Override an empty `filesChanged`
|
|
65
|
+
* list when git shows real changes (urateam#35). The committed-half
|
|
66
|
+
* of that union is load-bearing: the runner runs autoCommitChanges
|
|
67
|
+
* between stages, so by review-stage time the worktree is clean even
|
|
68
|
+
* though the implement stage modified N files. Status alone misses
|
|
69
|
+
* that case (gap from PR #95).
|
|
34
70
|
* 2. Otherwise, run git commands to get actual file changes and build the
|
|
35
71
|
* handoff programmatically from the diff + agent's raw text output
|
|
36
72
|
*
|
|
37
73
|
* No agent subprocess needed — this is fast and deterministic.
|
|
38
74
|
*/
|
|
39
|
-
export async function extractHandoff(agentOutput, runId, issueId, stage, workdir
|
|
75
|
+
export async function extractHandoff(agentOutput, runId, issueId, stage, workdir,
|
|
76
|
+
/**
|
|
77
|
+
* Optional base ref (e.g., "origin/main") to compare HEAD against for the
|
|
78
|
+
* "agent committed work on the branch" portion of the empty-filesChanged
|
|
79
|
+
* override. When absent, only the worktree (`git status --porcelain`) is
|
|
80
|
+
* consulted — i.e., the PR #95 behavior. Pass the full ref form including
|
|
81
|
+
* any `origin/` prefix the caller wants.
|
|
82
|
+
*/
|
|
83
|
+
baseRef) {
|
|
40
84
|
// Fast path: if the agent already produced valid structured JSON, use it
|
|
41
85
|
const fastResult = parseHandoffArtifact(agentOutput, runId, issueId, stage);
|
|
42
86
|
if (fastResult.structured) {
|
|
43
|
-
// Sanity check against
|
|
44
|
-
//
|
|
45
|
-
//
|
|
87
|
+
// Sanity check against git: an empty `filesChanged` from the agent is
|
|
88
|
+
// the symptom of urateam#35 — the agent's structured output can be
|
|
89
|
+
// malformed (e.g., self-critique JSON leaks into `summary` and
|
|
46
90
|
// `filesChanged: []` is emitted alongside) while the diff is real.
|
|
47
|
-
// Trust git as the authoritative source
|
|
48
|
-
//
|
|
91
|
+
// Trust git as the authoritative source only when the agent says
|
|
92
|
+
// nothing changed.
|
|
49
93
|
//
|
|
50
94
|
// We deliberately do NOT override a non-empty agent list, even when it
|
|
51
95
|
// disagrees with git — agents may legitimately filter their list (e.g.,
|
|
52
96
|
// exclude generated files), and the rotulus PR #7 symptom that drives
|
|
53
97
|
// this fix is specifically the empty-on-multi-file case.
|
|
54
98
|
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
// produced by parseHandoffArtifact and not aliased anywhere else before
|
|
60
|
-
// we return it.
|
|
99
|
+
// gitExecRaw fails-open to "" on error rather than rejecting, so a
|
|
100
|
+
// missing remote/baseRef is silent. Mutation of fastResult.artifact
|
|
101
|
+
// is safe — fastResult is a local var produced by parseHandoffArtifact
|
|
102
|
+
// and not aliased anywhere else before we return it.
|
|
61
103
|
if (fastResult.artifact.filesChanged.length === 0) {
|
|
62
|
-
const
|
|
63
|
-
const gitFilesChanged = parseGitPorcelain(statusOutput);
|
|
104
|
+
const gitFilesChanged = await gitChangedFilesAcross(workdir, baseRef);
|
|
64
105
|
if (gitFilesChanged.length > 0) {
|
|
65
|
-
log.warn({ stage, gitFilesChanged: gitFilesChanged.length }, "agent reported empty filesChanged but git shows real changes — overriding
|
|
106
|
+
log.warn({ stage, gitFilesChanged: gitFilesChanged.length, baseRef: baseRef ?? "(worktree only)" }, "agent reported empty filesChanged but git shows real changes — overriding (urateam#35)");
|
|
66
107
|
fastResult.artifact.filesChanged = gitFilesChanged;
|
|
67
108
|
}
|
|
68
109
|
}
|
|
@@ -76,20 +117,56 @@ export async function extractHandoff(agentOutput, runId, issueId, stage, workdir
|
|
|
76
117
|
timestamp: new Date().toISOString(),
|
|
77
118
|
};
|
|
78
119
|
try {
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
120
|
+
// Slow path uses the same union helper. Necessary for the RALPH call
|
|
121
|
+
// sites in pipeline/runner.ts which always take the slow path
|
|
122
|
+
// (they invoke extractHandoff with agentOutput="" so parseJsonBlock
|
|
123
|
+
// returns null). The fast-path override in PR #95 + this PR's widening
|
|
124
|
+
// were the load-bearing fix for the rotulus#16 PR-body bug; the slow
|
|
125
|
+
// path benefits incidentally.
|
|
126
|
+
//
|
|
127
|
+
// diffStat must scan the same range as filesChanged or the "Modified
|
|
128
|
+
// N files: <stat tail>" approach string can be misleading (empty stat
|
|
129
|
+
// alongside non-empty files when the worktree is autoCommit-clean).
|
|
130
|
+
const statRange = baseRef ? `${baseRef}...HEAD` : "HEAD";
|
|
131
|
+
const [filesChanged, diffStat] = await Promise.all([
|
|
132
|
+
gitChangedFilesAcross(workdir, baseRef),
|
|
133
|
+
gitExecSafe(["diff", "--stat", statRange], workdir),
|
|
83
134
|
]);
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
|
|
87
|
-
//
|
|
88
|
-
//
|
|
135
|
+
// Best-effort summary from agent output. Two failure modes are common
|
|
136
|
+
// here (urateam#97):
|
|
137
|
+
// - Review-stage agents emit review-finding JSON arrays (not the
|
|
138
|
+
// HandoffArtifact shape) which leak into the rendered PR body
|
|
139
|
+
// "## Summary" as `"description": "..."` / `"fix": "..."` fragments.
|
|
140
|
+
// - Implement/test stage agents emit nothing structured; the last few
|
|
141
|
+
// lines often contain tool noise rather than prose.
|
|
142
|
+
// Detect JSON-fragment-shaped content and replace with a deterministic
|
|
143
|
+
// placeholder. Reviewers got bitten on rotulus#7 by JSON-soup summaries
|
|
144
|
+
// that looked like a structured review (and even flagged a real bug)
|
|
145
|
+
// that nobody acted on.
|
|
89
146
|
const lines = agentOutput.split("\n").filter((l) => l.trim().length > 0);
|
|
90
|
-
const
|
|
147
|
+
const rawTail = lines.length > 0
|
|
91
148
|
? lines.slice(-5).join(" ").slice(0, 500)
|
|
92
|
-
:
|
|
149
|
+
: "";
|
|
150
|
+
// Heuristics tuned to avoid false positives on common agent prose:
|
|
151
|
+
// - `[x] tests pass`, `[PASS]`, `[fix] ...` — checklist / tag prefixes
|
|
152
|
+
// - `Added "env": "production" and "debug": "false"` — config-change prose
|
|
153
|
+
// - `{ destructured } = result` — JS destructuring prose
|
|
154
|
+
// To trip detection, the tail must look STRUCTURALLY like JSON, not just
|
|
155
|
+
// contain bracket characters. `^\s*[\[{]\s*[{"]` matches `[{...`, `{"...`,
|
|
156
|
+
// and similar real JSON openers but not `[x]` / `{ destruct }` / etc.
|
|
157
|
+
const looksLikeJsonSoup = /^\s*[[{]\s*["{]/.test(rawTail) ||
|
|
158
|
+
/"(description|fix|severity|category)"\s*:/.test(rawTail) ||
|
|
159
|
+
// Tighter threshold (3+) for the bare-property-pair heuristic. Two
|
|
160
|
+
// pairs is too low — operators routinely write prose with two quoted
|
|
161
|
+
// attribute references (e.g., "Added \"env\": \"production\" and
|
|
162
|
+
// \"debug\": \"false\""). Three+ is consistent with real review-finding
|
|
163
|
+
// JSON arrays which always emit many such pairs per tail window.
|
|
164
|
+
(rawTail.match(/"\s*:\s*"/g)?.length ?? 0) >= 3;
|
|
165
|
+
const summary = !rawTail
|
|
166
|
+
? `Stage ${stage} completed`
|
|
167
|
+
: looksLikeJsonSoup
|
|
168
|
+
? `Stage ${stage} completed — agent output was not parseable prose; see Changes for files modified`
|
|
169
|
+
: rawTail;
|
|
93
170
|
const approach = diffStat
|
|
94
171
|
? `Modified ${filesChanged.length} file(s): ${diffStat.split("\n").pop() || ""}`
|
|
95
172
|
: filesChanged.length > 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-handoff.js","sourceRoot":"","sources":["../../src/executor/extract-handoff.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE1D;;;GAGG;AACH,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,YAAY;SAChB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"extract-handoff.js","sourceRoot":"","sources":["../../src/executor/extract-handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../src/executor/handoff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9E,OAAO,EAAE,MAAM,GACd,eAAe,
|
|
1
|
+
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../src/executor/handoff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9E,OAAO,EAAE,MAAM,GACd,eAAe,CA4BjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAuDpB"}
|
package/dist/executor/handoff.js
CHANGED
|
@@ -3,12 +3,18 @@ import { parseJsonBlock } from "./agent-stream.js";
|
|
|
3
3
|
import { createLogger } from "../logger.js";
|
|
4
4
|
const log = createLogger({ component: "Handoff" });
|
|
5
5
|
export function buildFallback(metadata, summary) {
|
|
6
|
-
// Note (urateam#
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
6
|
+
// Note (urateam#97): callers should NOT use this raw `summary` string
|
|
7
|
+
// for end-user surfaces. The slow path in extract-handoff.ts applies
|
|
8
|
+
// a JSON-soup heuristic before assigning to artifact.summary so the
|
|
9
|
+
// PR body's "## Summary" section doesn't render review-finding JSON
|
|
10
|
+
// fragments verbatim (rotulus#7 reproduction). buildFallback itself is
|
|
11
|
+
// schema-required to populate `summary` to satisfy HandoffArtifact;
|
|
12
|
+
// the sanitization logically belongs at the call site, not here.
|
|
13
|
+
//
|
|
14
|
+
// The deeper root cause — per-stage prompts in templates.ts never
|
|
15
|
+
// instruct the agent to emit a HandoffArtifact JSON block — is tracked
|
|
16
|
+
// in urateam#97 as the long-term fix. When that lands, the fast path
|
|
17
|
+
// becomes load-bearing and this fallback is rarely hit.
|
|
12
18
|
return {
|
|
13
19
|
...metadata,
|
|
14
20
|
summary: summary || `Stage ${metadata.stage} completed without structured output`,
|
|
@@ -44,7 +50,20 @@ export function parseHandoffArtifact(agentOutput, runId, issueId, stage) {
|
|
|
44
50
|
};
|
|
45
51
|
const parsed = parseJsonBlock(agentOutput);
|
|
46
52
|
if (!parsed) {
|
|
47
|
-
|
|
53
|
+
// Demoted from error → debug: this fires on EVERY implement/test stage
|
|
54
|
+
// because per-stage prompts in `packages/core/src/executor/prompt/templates.ts`
|
|
55
|
+
// never instruct the agent to emit a HandoffArtifact-shaped JSON block.
|
|
56
|
+
// The slow path in extractHandoff reconstructs filesChanged from git diff
|
|
57
|
+
// and provides a sanitized summary, so this isn't an actionable error —
|
|
58
|
+
// it's expected operation. Logging at error level falsely flagged it as
|
|
59
|
+
// a problem in every operator dashboard (and triggered Slack alerts via
|
|
60
|
+
// notifier/slack-alerts.ts which fires on level >= 50). See urateam#97.
|
|
61
|
+
//
|
|
62
|
+
// CONTRACT FOR FLIP-BACK: when (a) the per-stage prompts in templates.ts
|
|
63
|
+
// are updated to request a HandoffArtifact JSON block, AND (b) the fast
|
|
64
|
+
// path actually reaches `structured: true` on a meaningful fraction of
|
|
65
|
+
// runs, this log should flip back to warn. Track via urateam#97.
|
|
66
|
+
log.debug({ stage }, "no valid JSON block in agent output, using slow-path reconstruction");
|
|
48
67
|
return {
|
|
49
68
|
artifact: buildFallback(metadata, agentOutput.slice(0, 500)),
|
|
50
69
|
structured: false,
|
|
@@ -58,7 +77,12 @@ export function parseHandoffArtifact(agentOutput, runId, issueId, stage) {
|
|
|
58
77
|
};
|
|
59
78
|
const result = HandoffArtifactSchema.safeParse(fullArtifact);
|
|
60
79
|
if (!result.success) {
|
|
61
|
-
|
|
80
|
+
// Same demotion as the no-block case above (urateam#97); same
|
|
81
|
+
// flip-back contract. The review stage routinely emits review-findings
|
|
82
|
+
// JSON (severity/file/line shape, see security/review-checklist.ts
|
|
83
|
+
// REVIEW_OUTPUT_FORMAT) which fails this validation. That's expected
|
|
84
|
+
// operation, not an error.
|
|
85
|
+
log.debug({ stage, validationErrors: result.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join(", ") }, "JSON block did not match HandoffArtifact schema, using slow-path reconstruction");
|
|
62
86
|
return {
|
|
63
87
|
artifact: buildFallback(metadata, agentOutput.slice(0, 500)),
|
|
64
88
|
structured: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/executor/handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AAQnD,MAAM,UAAU,aAAa,CAC3B,QAA8E,EAC9E,OAAe;IAEf,
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/executor/handoff.ts"],"names":[],"mappings":"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"}
|
package/dist/executor/ralph.d.ts
CHANGED
|
@@ -4,6 +4,21 @@ export interface RalphCheckResult {
|
|
|
4
4
|
satisfied: boolean;
|
|
5
5
|
gaps: string[];
|
|
6
6
|
suggestions: string[];
|
|
7
|
+
/**
|
|
8
|
+
* Set when the requirements-check agent itself failed (threw, ran out of
|
|
9
|
+
* turns, or produced no parseable JSON). Distinct from `satisfied: false`
|
|
10
|
+
* with a populated `gaps` list — that means the agent ran successfully and
|
|
11
|
+
* found real gaps. `evaluationFailed: true` means we have NO information
|
|
12
|
+
* about whether the criteria were met.
|
|
13
|
+
*
|
|
14
|
+
* Callers should treat this as "must surface to a human" — it is NEVER
|
|
15
|
+
* safe to treat as `satisfied: true`, but also wasteful to feed back
|
|
16
|
+
* into a re-implement loop because retrying the same eval-failure
|
|
17
|
+
* conditions will probably hit the same wall.
|
|
18
|
+
*/
|
|
19
|
+
evaluationFailed?: boolean;
|
|
20
|
+
/** Human-readable reason for the evaluation failure. Used in PR-body draft notes. */
|
|
21
|
+
evaluationError?: string;
|
|
7
22
|
}
|
|
8
23
|
/**
|
|
9
24
|
* Check whether the implementation satisfies the issue's acceptance criteria.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../src/executor/ralph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AASvD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../src/executor/ralph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AASvD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CA6G3B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,gBAAgB,EAC7B,eAAe,EAAE,eAAe,GAC/B,MAAM,CAoBR"}
|
package/dist/executor/ralph.js
CHANGED
|
@@ -76,14 +76,35 @@ Be strict but fair. If the code addresses the intent of a criterion even if not
|
|
|
76
76
|
suggestions: Array.isArray(parsed.suggestions) ? parsed.suggestions : [],
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
|
+
// Agent ran but emitted no parseable JSON — we have NO evidence the
|
|
80
|
+
// criteria were checked. Fail closed. Surfacing this as `satisfied:
|
|
81
|
+
// false + evaluationFailed: true` lets the caller draft the PR with an
|
|
82
|
+
// honest "RALPH eval failed, human review required" note rather than
|
|
83
|
+
// silently shipping it as ready (urateam follow-up to PR #95 fail-open
|
|
84
|
+
// observed during rotulus#17 OSS validation).
|
|
79
85
|
log.warn("requirements check agent did not produce structured output");
|
|
80
|
-
return {
|
|
86
|
+
return {
|
|
87
|
+
satisfied: false,
|
|
88
|
+
gaps: [],
|
|
89
|
+
suggestions: [],
|
|
90
|
+
evaluationFailed: true,
|
|
91
|
+
evaluationError: "RALPH check agent completed but produced no parseable structured output — gaps could not be evaluated",
|
|
92
|
+
};
|
|
81
93
|
}
|
|
82
94
|
catch (error) {
|
|
83
95
|
const msg = error instanceof Error ? error.message : String(error);
|
|
84
96
|
log.error({ err: msg }, "requirements check agent failed");
|
|
85
|
-
//
|
|
86
|
-
|
|
97
|
+
// Same fail-closed semantics as the no-JSON case above. The previous
|
|
98
|
+
// behavior here returned satisfied: true with a comment "Don't block
|
|
99
|
+
// the pipeline on check failure" — that masked real failures (e.g., the
|
|
100
|
+
// 6-turn cap exhaustion observed on rotulus#17) as positive signals.
|
|
101
|
+
return {
|
|
102
|
+
satisfied: false,
|
|
103
|
+
gaps: [],
|
|
104
|
+
suggestions: [],
|
|
105
|
+
evaluationFailed: true,
|
|
106
|
+
evaluationError: `RALPH check agent failed: ${msg}`,
|
|
107
|
+
};
|
|
87
108
|
}
|
|
88
109
|
}
|
|
89
110
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../src/executor/ralph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../src/executor/ralph.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,18 @@ export interface PRDescriptionOptions {
|
|
|
13
13
|
ralphSatisfied?: boolean;
|
|
14
14
|
/** List of unmet RALPH gap items (used for count in draft reason). */
|
|
15
15
|
ralphGaps?: unknown[];
|
|
16
|
+
/**
|
|
17
|
+
* Set when the RALPH check agent itself failed (threw, hit its turn cap,
|
|
18
|
+
* or produced no parseable JSON). Distinct from `ralphSatisfied: false`
|
|
19
|
+
* with a non-empty gap list — that means RALPH ran successfully and found
|
|
20
|
+
* real gaps. When this is true, the draft reason wording switches from
|
|
21
|
+
* "RALPH found N unmet acceptance criteria" to "RALPH evaluation failed:
|
|
22
|
+
* <reason>" so reviewers don't waste time hunting for a non-existent
|
|
23
|
+
* failed requirement (urateam#108).
|
|
24
|
+
*/
|
|
25
|
+
ralphEvaluationFailed?: boolean;
|
|
26
|
+
/** Human-readable reason from `RalphCheckResult.evaluationError`. */
|
|
27
|
+
ralphEvaluationError?: string;
|
|
16
28
|
/** Blocking review findings that remain unresolved (used for count in draft reason). */
|
|
17
29
|
unresolvedBlockingFindings?: unknown[];
|
|
18
30
|
/** Agent-authored commit messages (not auto-committed fallbacks) to include in a Commits section. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-description.d.ts","sourceRoot":"","sources":["../../src/pipeline/pr-description.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kGAAkG;IAClG,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,wFAAwF;IACxF,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC;IACvC,qGAAqG;IACrG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"pr-description.d.ts","sourceRoot":"","sources":["../../src/pipeline/pr-description.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kGAAkG;IAClG,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wFAAwF;IACxF,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC;IACvC,qGAAqG;IACrG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAoE3E"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* Sections are separated by double newlines (markdown paragraph breaks).
|
|
13
13
|
*/
|
|
14
14
|
export function generatePRDescription(options) {
|
|
15
|
-
const { handoff, issueId, shouldDraft = false, ralphSatisfied = true, ralphGaps = [], unresolvedBlockingFindings = [], agentCommits = [], } = options;
|
|
15
|
+
const { handoff, issueId, shouldDraft = false, ralphSatisfied = true, ralphGaps = [], ralphEvaluationFailed = false, ralphEvaluationError, unresolvedBlockingFindings = [], agentCommits = [], } = options;
|
|
16
16
|
const parts = [];
|
|
17
17
|
// Summary section
|
|
18
18
|
parts.push(`## Summary\n${handoff?.summary ?? "No summary available."}`);
|
|
@@ -39,8 +39,19 @@ export function generatePRDescription(options) {
|
|
|
39
39
|
// Flag draft status with reason
|
|
40
40
|
if (shouldDraft) {
|
|
41
41
|
const reasons = [];
|
|
42
|
-
if (!ralphSatisfied)
|
|
43
|
-
|
|
42
|
+
if (!ralphSatisfied) {
|
|
43
|
+
// urateam#108: distinguish "agent ran, found gaps" from "evaluator
|
|
44
|
+
// crashed". The previous "RALPH found N unmet acceptance criteria"
|
|
45
|
+
// copy lied when N actually counted "RALPH check agent failed: ..."
|
|
46
|
+
// strings, sending reviewers hunting for a non-existent requirement
|
|
47
|
+
// failure.
|
|
48
|
+
if (ralphEvaluationFailed) {
|
|
49
|
+
reasons.push(`RALPH evaluation failed (${ralphEvaluationError ?? "no detail"}) — human review required`);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
reasons.push(`RALPH found ${ralphGaps.length} unmet acceptance criteria`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
44
55
|
if (unresolvedBlockingFindings.length > 0)
|
|
45
56
|
reasons.push(`${unresolvedBlockingFindings.length} blocking review findings remain`);
|
|
46
57
|
parts.push(`> **Draft PR** — ${reasons.join("; ")}. See PR comments for details.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-description.js","sourceRoot":"","sources":["../../src/pipeline/pr-description.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pr-description.js","sourceRoot":"","sources":["../../src/pipeline/pr-description.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|