@tokenfactory/acc-runner 0.29.2 → 0.29.4
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/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +31 -0
- package/dist/config.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +38 -0
- package/dist/doctor.js.map +1 -1
- package/dist/runtime/clone-cache.d.ts +61 -0
- package/dist/runtime/clone-cache.d.ts.map +1 -0
- package/dist/runtime/clone-cache.js +161 -0
- package/dist/runtime/clone-cache.js.map +1 -0
- package/dist/runtime/reviewer.d.ts +24 -3
- package/dist/runtime/reviewer.d.ts.map +1 -1
- package/dist/runtime/reviewer.js +204 -25
- package/dist/runtime/reviewer.js.map +1 -1
- package/dist/runtime/rework.d.ts +37 -0
- package/dist/runtime/rework.d.ts.map +1 -1
- package/dist/runtime/rework.js +137 -0
- package/dist/runtime/rework.js.map +1 -1
- package/dist/runtime/self-upgrade.d.ts +79 -0
- package/dist/runtime/self-upgrade.d.ts.map +1 -0
- package/dist/runtime/self-upgrade.js +199 -0
- package/dist/runtime/self-upgrade.js.map +1 -0
- package/dist/runtime/worktree.d.ts +55 -0
- package/dist/runtime/worktree.d.ts.map +1 -1
- package/dist/runtime/worktree.js +118 -0
- package/dist/runtime/worktree.js.map +1 -1
- package/dist/task-runner.d.ts +20 -1
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +171 -4
- package/dist/task-runner.js.map +1 -1
- package/dist/watch.d.ts +68 -0
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +246 -31
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
package/dist/runtime/reviewer.js
CHANGED
|
@@ -19,14 +19,22 @@ import { parseClaudeJson, priceUsdCents, normalizeUsage, } from "../cost-pricing
|
|
|
19
19
|
import { classifyClaudeExit, extractResetTime } from "../failure-classifier.js";
|
|
20
20
|
import { withAnthropicAuth } from "../anthropic-auth.js";
|
|
21
21
|
import { buildEnv } from "../bin-resolve.js";
|
|
22
|
-
|
|
22
|
+
import { ensureRepoClone } from "./clone-cache.js";
|
|
23
|
+
import { prepareReviewWorktree, ReviewFetchError } from "./worktree.js";
|
|
24
|
+
// Byte-identical to prompts/reviewer-agent.md. The runner does not have
|
|
23
25
|
// the markdown file at runtime (the package ships without prompts/) so
|
|
24
26
|
// the prompt is embedded. Keep this string in sync with the markdown
|
|
25
27
|
// version on every prompt edit; tests/integration/v0.12-REVIEW-LOCAL
|
|
26
|
-
// asserts
|
|
27
|
-
const REVIEWER_PROMPT_TEMPLATE = [
|
|
28
|
-
"You are reviewing a pull request opened by another Claude (an ACC",
|
|
29
|
-
"
|
|
28
|
+
// asserts the embedded template equals the markdown byte-for-byte.
|
|
29
|
+
export const REVIEWER_PROMPT_TEMPLATE = [
|
|
30
|
+
"You are reviewing a pull request opened by another Claude (an ACC task",
|
|
31
|
+
"runner). Your role is the second opinion that prevents bad code from",
|
|
32
|
+
"auto-merging without operator review.",
|
|
33
|
+
"",
|
|
34
|
+
"Be skeptical. Bias toward rejecting when in doubt. The cost of a false-",
|
|
35
|
+
"approve (bad code lands on integration) is meaningfully higher than the",
|
|
36
|
+
"cost of a false-reject (the PR sits in needs-review for an operator to",
|
|
37
|
+
"look at).",
|
|
30
38
|
"",
|
|
31
39
|
"Task spec:",
|
|
32
40
|
"{{task_description}}",
|
|
@@ -34,15 +42,67 @@ const REVIEWER_PROMPT_TEMPLATE = [
|
|
|
34
42
|
"Acceptance criteria:",
|
|
35
43
|
"{{acceptance_criteria}}",
|
|
36
44
|
"",
|
|
45
|
+
"The acceptance criteria listed are task-specific and complete — do not add,",
|
|
46
|
+
"infer, or substitute criteria that are not listed.",
|
|
47
|
+
"",
|
|
37
48
|
"PR title: {{pr_title}}",
|
|
38
|
-
"PR body:",
|
|
49
|
+
"PR body (the author Claude's report):",
|
|
39
50
|
"{{pr_body}}",
|
|
40
51
|
"",
|
|
41
52
|
"PR diff:",
|
|
42
53
|
"{{pr_diff}}",
|
|
43
54
|
"",
|
|
44
|
-
"
|
|
45
|
-
|
|
55
|
+
"Now answer in this exact JSON shape, with no surrounding prose:",
|
|
56
|
+
"{",
|
|
57
|
+
' "decision": "approve" | "reject",',
|
|
58
|
+
' "reasons": ["concise reason 1", "concise reason 2", "..."],',
|
|
59
|
+
' "confidence": 0.0',
|
|
60
|
+
"}",
|
|
61
|
+
"",
|
|
62
|
+
"Rules:",
|
|
63
|
+
"- Only approve if EVERY acceptance criterion is clearly met by the diff.",
|
|
64
|
+
"- Reject if the diff adds files outside the task's stated scope.",
|
|
65
|
+
"- Reject if the diff makes changes beyond what the task asked for",
|
|
66
|
+
" (refactors, drive-by cleanups, dependency bumps that weren't requested).",
|
|
67
|
+
'- Reject if the report contains "I\'ll skip", "couldn\'t", "didn\'t",',
|
|
68
|
+
" or other signals the author didn't complete the work.",
|
|
69
|
+
"- Reject if tests are missing for new behavior the task spec called for.",
|
|
70
|
+
"- Reject if a migration file is touched without the task asking for one.",
|
|
71
|
+
"- **Migration renumber carve-out.** A migration file MAY be renumbered from its",
|
|
72
|
+
" originally-assigned sequence to resolve a collision with another",
|
|
73
|
+
" concurrently-landing migration. This is COMPLIANT — do NOT flag it as a",
|
|
74
|
+
' "sequence mismatch" or spec violation (the MIGRATION_SAFETY_PREAMBLE line',
|
|
75
|
+
' "sequence numbers are assigned by your prompt — do not pick them yourself"',
|
|
76
|
+
" does not make an operator-driven collision renumber a fault) when ALL of the",
|
|
77
|
+
" following hold:",
|
|
78
|
+
" - the filename sequence prefix matches the `seq` argument in the file's",
|
|
79
|
+
" `acc.record_migration_applied('<seq>', ...)` call (internal and external",
|
|
80
|
+
" seq agree);",
|
|
81
|
+
" - the sequence is forward-only — strictly greater than the max",
|
|
82
|
+
" already-applied/merged seq on the integration branch;",
|
|
83
|
+
" - it does not duplicate an existing applied/merged seq.",
|
|
84
|
+
" Only flag a genuine sequence fault: filename seq differs from the internal",
|
|
85
|
+
" `record_migration_applied` seq, a backward or duplicate seq, or an edit to an",
|
|
86
|
+
" already-published migration. This carve-out narrows numbering only; every",
|
|
87
|
+
" other migration safety rule (forward-only, no DROP/RENAME/TRUNCATE without a",
|
|
88
|
+
" HALT, ledger write last) is unchanged.",
|
|
89
|
+
"- Reject if forbidden files appear in the diff. **Exception:** planning docs",
|
|
90
|
+
" (e.g. `planning/V0_*.md`) that the operator commits directly to `main` may",
|
|
91
|
+
" appear in a PR's diff if the agent's branch was created before that commit",
|
|
92
|
+
" landed. If the file content in the diff is identical to the version on",
|
|
93
|
+
" `main` (i.e. the file was neither created nor modified by this agent), do",
|
|
94
|
+
" NOT count it as a forbidden-file violation — treat it as a no-op inclusion.",
|
|
95
|
+
"- `confidence` is your subjective certainty in the decision, not in the",
|
|
96
|
+
" PR's quality. A reject can be high-confidence; an approve at",
|
|
97
|
+
" confidence < 0.7 is treated as a reject by the cron handler regardless",
|
|
98
|
+
" of `decision`. The operator picks those PRs up manually.",
|
|
99
|
+
"- For straightforward infrastructure tasks (crons, RPCs, migrations with",
|
|
100
|
+
" no schema drops), a well-scoped diff that meets all criteria warrants",
|
|
101
|
+
" confidence >= 0.7. Reserve low confidence for genuine ambiguity in",
|
|
102
|
+
" whether criteria are met, not for stylistic preference.",
|
|
103
|
+
"- Keep `reasons` short: 3-7 entries, each one a single concrete sentence",
|
|
104
|
+
" pointing at a specific part of the diff or the task spec. No prose",
|
|
105
|
+
" paragraphs. No re-stating the task.",
|
|
46
106
|
].join("\n");
|
|
47
107
|
const MAX_DIFF_CHARS = 60_000;
|
|
48
108
|
const RETRY_DELAYS_MS = [2000, 4000, 8000];
|
|
@@ -187,9 +247,85 @@ async function defaultFetchPRMeta(repo, prNumber) {
|
|
|
187
247
|
const parsed = JSON.parse(stdout);
|
|
188
248
|
return { title: parsed.title ?? "", body: parsed.body ?? "" };
|
|
189
249
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
250
|
+
/**
|
|
251
|
+
* R0-D — resolve the PR's authoritative head branch + SHA + base branch from
|
|
252
|
+
* GitHub. The PR number (carried by the review assignment) resolves to the
|
|
253
|
+
* exact head via the GitHub API — the runner never infers the head from a
|
|
254
|
+
* local branch. `headRefOid` is the exact head commit SHA the server uses for
|
|
255
|
+
* re-review.
|
|
256
|
+
*/
|
|
257
|
+
async function defaultResolvePRHead(repo, prNumber) {
|
|
258
|
+
const { stdout } = await execa("gh", ["pr", "view", String(prNumber), "-R", repo, "--json", "headRefName,headRefOid,baseRefName"], { env: buildEnv() });
|
|
259
|
+
const p = JSON.parse(stdout);
|
|
260
|
+
return {
|
|
261
|
+
headBranch: p.headRefName ?? "",
|
|
262
|
+
headSha: p.headRefOid ?? "",
|
|
263
|
+
baseBranch: p.baseRefName ?? "",
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* R0-D default tree prep: resolve the exact PR head, ensure a local clone of
|
|
268
|
+
* the repo, then hard-checkout the head SHA into a clean dedicated worktree and
|
|
269
|
+
* compute the diff from it. Any failure throws `ReviewFetchError` so the caller
|
|
270
|
+
* fails closed and posts no verdict.
|
|
271
|
+
*/
|
|
272
|
+
async function defaultPrepareReviewTree(args) {
|
|
273
|
+
const head = await defaultResolvePRHead(args.repo, args.prNumber);
|
|
274
|
+
if (!head.headSha) {
|
|
275
|
+
throw new ReviewFetchError({
|
|
276
|
+
event: "task.review_fetch_failed",
|
|
277
|
+
prNumber: args.prNumber,
|
|
278
|
+
expectedHeadSha: "",
|
|
279
|
+
reason: "gh pr view returned no head SHA (PR inaccessible, closed, or deleted)",
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
let repoPath;
|
|
283
|
+
try {
|
|
284
|
+
repoPath = await ensureRepoClone({ repo: args.repo });
|
|
285
|
+
}
|
|
286
|
+
catch (err) {
|
|
287
|
+
throw new ReviewFetchError({
|
|
288
|
+
event: "task.review_fetch_failed",
|
|
289
|
+
prNumber: args.prNumber,
|
|
290
|
+
expectedHeadSha: head.headSha,
|
|
291
|
+
reason: `clone failed: ${err.message?.split("\n")[0] ?? String(err)}`,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
const wt = await prepareReviewWorktree({
|
|
295
|
+
repoPath,
|
|
296
|
+
reviewId: args.reviewId,
|
|
297
|
+
prNumber: args.prNumber,
|
|
298
|
+
headBranch: head.headBranch,
|
|
299
|
+
headSha: head.headSha,
|
|
300
|
+
baseBranch: head.baseBranch,
|
|
301
|
+
});
|
|
302
|
+
return { headSha: wt.headSha, diff: wt.diff, cleanup: wt.cleanup };
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* R0-D — emit the `task.review_fetch_failed` audit event when the reviewer
|
|
306
|
+
* fails closed. Rides the existing `log_activity` RPC (additive verb; no
|
|
307
|
+
* RPC-signature or protocol-shape change). Best-effort: a logging failure must
|
|
308
|
+
* not turn a clean fail-closed into a crash.
|
|
309
|
+
*/
|
|
310
|
+
async function emitReviewFetchFailed(supabase, assignment, err) {
|
|
311
|
+
try {
|
|
312
|
+
const { error } = await supabase.rpc("log_activity", {
|
|
313
|
+
p_verb: "task.review_fetch_failed",
|
|
314
|
+
p_target_id: assignment.task_id,
|
|
315
|
+
p_target_type: "task",
|
|
316
|
+
p_payload: {
|
|
317
|
+
pr_number: err.prNumber,
|
|
318
|
+
expected_head_sha: err.expectedHeadSha || null,
|
|
319
|
+
reason: err.reason,
|
|
320
|
+
},
|
|
321
|
+
});
|
|
322
|
+
if (error) {
|
|
323
|
+
process.stderr.write(`[acc-runner] task.review_fetch_failed log_activity(${assignment.task_id}) failed: ${error.message}\n`);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
catch (logErr) {
|
|
327
|
+
process.stderr.write(`[acc-runner] task.review_fetch_failed emit failed: ${logErr.message}\n`);
|
|
328
|
+
}
|
|
193
329
|
}
|
|
194
330
|
function defaultSpawnClaude(modelId) {
|
|
195
331
|
const args = ["--print", "--dangerously-skip-permissions", "--output-format=json"];
|
|
@@ -235,11 +371,11 @@ function parseEnvelope(stdout, fallbackModel) {
|
|
|
235
371
|
*/
|
|
236
372
|
export async function runReview(assignment, deps) {
|
|
237
373
|
const fetchMeta = deps.fetchPRMeta ?? defaultFetchPRMeta;
|
|
238
|
-
const
|
|
374
|
+
const prepareTree = deps.prepareReviewTree ?? defaultPrepareReviewTree;
|
|
239
375
|
const spawnFn = deps.spawnClaude ?? defaultSpawnClaude;
|
|
240
376
|
let outcome;
|
|
241
377
|
try {
|
|
242
|
-
outcome = await driveReview(assignment, deps, fetchMeta,
|
|
378
|
+
outcome = await driveReview(assignment, deps, fetchMeta, prepareTree, spawnFn);
|
|
243
379
|
}
|
|
244
380
|
catch (err) {
|
|
245
381
|
outcome = {
|
|
@@ -250,6 +386,19 @@ export async function runReview(assignment, deps) {
|
|
|
250
386
|
cost_usd: 0,
|
|
251
387
|
};
|
|
252
388
|
}
|
|
389
|
+
// R0-D: fail-closed. driveReview returns null when it could not materialize
|
|
390
|
+
// the exact PR head — `task.review_fetch_failed` was already emitted there.
|
|
391
|
+
// Post NO verdict (skip submit_review) so R0's re-broadcast reassigns the
|
|
392
|
+
// review to a healthy runner instead of a wrong-tree result landing.
|
|
393
|
+
if (outcome === null) {
|
|
394
|
+
return {
|
|
395
|
+
decision: "review_fetch_failed",
|
|
396
|
+
reasons: ["aborted: could not materialize the exact PR head (see task.review_fetch_failed)"],
|
|
397
|
+
confidence: 0,
|
|
398
|
+
session_id: null,
|
|
399
|
+
cost_usd: 0,
|
|
400
|
+
};
|
|
401
|
+
}
|
|
253
402
|
const { error } = await deps.supabase.rpc("submit_review", {
|
|
254
403
|
p_review_id: assignment.review_id,
|
|
255
404
|
p_decision: outcome.decision,
|
|
@@ -277,7 +426,7 @@ async function invokeClaude(spawnFn, modelId, prompt) {
|
|
|
277
426
|
]);
|
|
278
427
|
return { stdout, stderr, exitCode: exit.exitCode ?? 1, durationMs: Date.now() - spawnedAt };
|
|
279
428
|
}
|
|
280
|
-
async function driveReview(assignment, deps, fetchMeta,
|
|
429
|
+
async function driveReview(assignment, deps, fetchMeta, prepareTree, spawnFn) {
|
|
281
430
|
const { data, error } = await deps.supabase.rpc("fetch_task_for_runner", {
|
|
282
431
|
p_task_id: assignment.task_id,
|
|
283
432
|
});
|
|
@@ -309,17 +458,47 @@ async function driveReview(assignment, deps, fetchMeta, fetchDiff, spawnFn) {
|
|
|
309
458
|
const policy = deps.loadPolicy
|
|
310
459
|
? await deps.loadPolicy("")
|
|
311
460
|
: await loadReviewerPolicy(deps.supabase);
|
|
312
|
-
const
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
461
|
+
const meta = await fetchMeta(repo, assignment.pr_number);
|
|
462
|
+
// R0-D-REVIEWER-WORKSPACE-INTEGRITY: materialize the EXACT PR head before
|
|
463
|
+
// forming any verdict, or fail closed. On failure we post NO verdict and emit
|
|
464
|
+
// `task.review_fetch_failed`; R0's re-broadcast reassigns to a healthy runner.
|
|
465
|
+
let tree;
|
|
466
|
+
try {
|
|
467
|
+
tree = await prepareTree({
|
|
468
|
+
repo,
|
|
469
|
+
reviewId: assignment.review_id,
|
|
470
|
+
prNumber: assignment.pr_number,
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
catch (err) {
|
|
474
|
+
if (err instanceof ReviewFetchError) {
|
|
475
|
+
await emitReviewFetchFailed(deps.supabase, assignment, err);
|
|
476
|
+
return null;
|
|
477
|
+
}
|
|
478
|
+
throw err;
|
|
479
|
+
}
|
|
480
|
+
try {
|
|
481
|
+
const prompt = renderReviewerPrompt({
|
|
482
|
+
task_description: task.description ?? "",
|
|
483
|
+
acceptance_criteria: task.acceptance ?? [],
|
|
484
|
+
pr_title: meta.title,
|
|
485
|
+
pr_body: meta.body,
|
|
486
|
+
pr_diff: tree.diff,
|
|
487
|
+
});
|
|
488
|
+
return await runClaudeAndDecide(prompt, policy, deps, spawnFn);
|
|
489
|
+
}
|
|
490
|
+
finally {
|
|
491
|
+
// Remove the dedicated review worktree so it can never become a stale
|
|
492
|
+
// fallback for a future review (defense against the recurrence root cause).
|
|
493
|
+
await tree.cleanup().catch(() => undefined);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* R0-D — drive claude over the verified PR-head diff and parse the verdict.
|
|
498
|
+
* Extracted from driveReview so worktree cleanup can wrap every return path.
|
|
499
|
+
* Behaviour (retries, capacity handling, cost-cap, parse) is unchanged.
|
|
500
|
+
*/
|
|
501
|
+
async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
|
|
323
502
|
const sleepFn = deps.sleep ?? defaultSleep;
|
|
324
503
|
const modelId = policy?.model_id ?? "claude-sonnet-4-6";
|
|
325
504
|
const maxCapacityRetries = resolveCapacityRetries(process.env[CAPACITY_RETRIES_ENV]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/rework.d.ts
CHANGED
|
@@ -45,4 +45,41 @@ export declare function renderReworkPrompt(args: {
|
|
|
45
45
|
meta: ReworkMeta;
|
|
46
46
|
branch: string;
|
|
47
47
|
}): string;
|
|
48
|
+
/** Minimal git seam for reconcile — injectable so unit tests never shell out. */
|
|
49
|
+
export type ReworkGitExec = (args: string[], cwd: string) => Promise<{
|
|
50
|
+
stdout: string;
|
|
51
|
+
exitCode: number | null;
|
|
52
|
+
}>;
|
|
53
|
+
export interface ReconcileResult {
|
|
54
|
+
/** "reconciled" → safe to continue (agent + gate + push). "halt" → genuine
|
|
55
|
+
* conflict needing human judgment; the caller HALTs without burning a cycle. */
|
|
56
|
+
status: "reconciled" | "halt";
|
|
57
|
+
/** The integration ref merged in (e.g. `origin/acc/integration`). */
|
|
58
|
+
integrationRef: string;
|
|
59
|
+
/** True when the merge moved HEAD (the branch was behind integration). */
|
|
60
|
+
merged: boolean;
|
|
61
|
+
/** Mechanical conflicts auto-resolved via the conflict classifier. */
|
|
62
|
+
autoResolved: string[];
|
|
63
|
+
/** Genuine conflicts the runner refused to resolve (status=halt). */
|
|
64
|
+
conflicted: string[];
|
|
65
|
+
}
|
|
66
|
+
export interface ReconcileReworkOptions {
|
|
67
|
+
workdir: string;
|
|
68
|
+
/** Integration branch name from task/PR context, e.g. `acc/integration`. */
|
|
69
|
+
integrationBranch: string;
|
|
70
|
+
/** Injectable git seam (tests). Defaults to `git` via execa, reject:false. */
|
|
71
|
+
git?: ReworkGitExec;
|
|
72
|
+
/** Regenerate generated artifacts after the merge. Defaults to the repo's
|
|
73
|
+
* `gen-migration-manifest` step; best-effort, output is gitignored. */
|
|
74
|
+
regenArtifacts?: (workdir: string) => Promise<void>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Merge `origin/<integrationBranch>` into the rework worktree's branch and
|
|
78
|
+
* regenerate artifacts. Clean merge → `reconciled`. Conflicts entirely in
|
|
79
|
+
* mechanical file classes → auto-resolved via the conflict-resolver mergers +
|
|
80
|
+
* committed. Any genuine source conflict (or an unmergeable mechanical file) →
|
|
81
|
+
* merge aborted and `{ status: "halt", conflicted }` so the caller surfaces it
|
|
82
|
+
* for operator review WITHOUT burning a rework cycle.
|
|
83
|
+
*/
|
|
84
|
+
export declare function reconcileReworkBranch(opts: ReconcileReworkOptions): Promise<ReconcileResult>;
|
|
48
85
|
//# sourceMappingURL=rework.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rework.d.ts","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rework.d.ts","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf;oEACgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AA+BnC;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,QAAQ,CAAC,EAAE;IACT,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,GACA,UAAU,GAAG,IAAI,CA6BnB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAqDT;AAgBD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,KACR,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B;qFACiF;IACjF,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC;IAC9B,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,OAAO,CAAC;IAChB,sEAAsE;IACtE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB;4EACwE;IACxE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAuDD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,eAAe,CAAC,CA2F1B"}
|
package/dist/runtime/rework.js
CHANGED
|
@@ -15,8 +15,11 @@
|
|
|
15
15
|
* "origin_task_id":"T-...","verdict":"reject","confidence":0.72,
|
|
16
16
|
* "comments":["..."],"cycle":1} -->
|
|
17
17
|
*/
|
|
18
|
+
import fs from "node:fs/promises";
|
|
19
|
+
import path from "node:path";
|
|
18
20
|
import { execa } from "execa";
|
|
19
21
|
import { buildEnv } from "../bin-resolve.js";
|
|
22
|
+
import { classifyFile, mergeVercelCrons, mergeCurrentCycle, mergeMinVersion, mergePackageVersion, resolvePlanning, } from "./conflict-resolver.js";
|
|
20
23
|
/** Mirrors the bound enforced inside acc.create_rework_task. */
|
|
21
24
|
export const MAX_REWORK_CYCLES = 3;
|
|
22
25
|
// Lazy body match so reviewer comments containing "}" don't truncate the
|
|
@@ -133,4 +136,138 @@ export function renderReworkPrompt(args) {
|
|
|
133
136
|
lines.push("");
|
|
134
137
|
return lines.join("\n");
|
|
135
138
|
}
|
|
139
|
+
function defaultReworkGit() {
|
|
140
|
+
return async (args, cwd) => {
|
|
141
|
+
const r = await execa("git", args, { cwd, env: buildEnv(), reject: false });
|
|
142
|
+
return { stdout: r.stdout ?? "", exitCode: r.exitCode ?? null };
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/** Run the repo's artifact generator so generated files match the merged tree.
|
|
146
|
+
* The only generated artifact (src/lib/migration-manifest.ts) is gitignored,
|
|
147
|
+
* so this never stages an authored change; failures are non-fatal. */
|
|
148
|
+
async function defaultRegenArtifacts(workdir) {
|
|
149
|
+
await execa("node", ["scripts/gen-migration-manifest.mjs"], {
|
|
150
|
+
cwd: workdir,
|
|
151
|
+
env: buildEnv(),
|
|
152
|
+
reject: false,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/** ours = the rework branch (stage 2); theirs = integration (stage 3). null
|
|
156
|
+
* when the file is absent on that side (delete/modify), which the per-class
|
|
157
|
+
* mergers below handle. */
|
|
158
|
+
async function showStage(git, workdir, stage, file) {
|
|
159
|
+
const r = await git(["show", `:${stage}:${file}`], workdir);
|
|
160
|
+
return r.exitCode === 0 ? r.stdout : null;
|
|
161
|
+
}
|
|
162
|
+
/** Resolve one mechanical conflict using the SAME mergers the conflict-resolver
|
|
163
|
+
* uses. base=integration (theirs), head=rework (ours) mirrors its base/head
|
|
164
|
+
* convention. null → unmergeable / a real source file → caller HALTs. */
|
|
165
|
+
function resolveMechanical(file, ours, theirs) {
|
|
166
|
+
const cls = classifyFile(file);
|
|
167
|
+
// planning tolerates one side absent (add/delete); the rest need both.
|
|
168
|
+
if (cls === "planning")
|
|
169
|
+
return resolvePlanning(theirs, ours)?.content ?? null;
|
|
170
|
+
if (ours === null || theirs === null)
|
|
171
|
+
return null;
|
|
172
|
+
switch (cls) {
|
|
173
|
+
case "vercel.json": return mergeVercelCrons(theirs, ours);
|
|
174
|
+
// null = nothing to append → keep our side (not a failure).
|
|
175
|
+
case "current-cycle": return mergeCurrentCycle(theirs, ours) ?? ours;
|
|
176
|
+
case "min-version": return mergeMinVersion(theirs, ours);
|
|
177
|
+
case "package-version": return mergePackageVersion(theirs, ours);
|
|
178
|
+
default: return null; // classifyFile null = real source file
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Merge `origin/<integrationBranch>` into the rework worktree's branch and
|
|
183
|
+
* regenerate artifacts. Clean merge → `reconciled`. Conflicts entirely in
|
|
184
|
+
* mechanical file classes → auto-resolved via the conflict-resolver mergers +
|
|
185
|
+
* committed. Any genuine source conflict (or an unmergeable mechanical file) →
|
|
186
|
+
* merge aborted and `{ status: "halt", conflicted }` so the caller surfaces it
|
|
187
|
+
* for operator review WITHOUT burning a rework cycle.
|
|
188
|
+
*/
|
|
189
|
+
export async function reconcileReworkBranch(opts) {
|
|
190
|
+
const git = opts.git ?? defaultReworkGit();
|
|
191
|
+
const regen = opts.regenArtifacts ?? defaultRegenArtifacts;
|
|
192
|
+
const integrationRef = `origin/${opts.integrationBranch}`;
|
|
193
|
+
const merge = await git(["merge", "--no-edit", integrationRef], opts.workdir);
|
|
194
|
+
// Match both the modern "Already up to date." and the older hyphenated
|
|
195
|
+
// "Already up-to-date." so `merged` is reported correctly across git versions.
|
|
196
|
+
let merged = !/already up[\s-]to[\s-]date/i.test(merge.stdout);
|
|
197
|
+
const autoResolved = [];
|
|
198
|
+
if (merge.exitCode !== 0) {
|
|
199
|
+
// List unmerged paths and try to auto-resolve every one mechanically.
|
|
200
|
+
const status = await git(["diff", "--name-only", "--diff-filter=U"], opts.workdir);
|
|
201
|
+
const unmerged = status.stdout
|
|
202
|
+
.split(/\r?\n/)
|
|
203
|
+
.map((s) => s.trim())
|
|
204
|
+
.filter(Boolean);
|
|
205
|
+
if (unmerged.length === 0) {
|
|
206
|
+
// The merge failed but produced no conflicted paths — so this is NOT a
|
|
207
|
+
// mechanical conflict we could resolve. Likely an unmergeable or absent
|
|
208
|
+
// integration ref, or a merge left half-applied by a prior crashed run.
|
|
209
|
+
// Abort and HALT with an explicit signal instead of falling through to
|
|
210
|
+
// an empty commit that would yield a misleading empty `conflicted` list.
|
|
211
|
+
await git(["merge", "--abort"], opts.workdir);
|
|
212
|
+
return {
|
|
213
|
+
status: "halt",
|
|
214
|
+
integrationRef,
|
|
215
|
+
merged: false,
|
|
216
|
+
autoResolved: [],
|
|
217
|
+
conflicted: [`merge ${integrationRef} failed with no conflicted paths`],
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
const halt = [];
|
|
221
|
+
const writes = [];
|
|
222
|
+
for (const file of unmerged) {
|
|
223
|
+
const [ours, theirs] = await Promise.all([
|
|
224
|
+
showStage(git, opts.workdir, 2, file),
|
|
225
|
+
showStage(git, opts.workdir, 3, file),
|
|
226
|
+
]);
|
|
227
|
+
const resolved = resolveMechanical(file, ours, theirs);
|
|
228
|
+
if (resolved === null)
|
|
229
|
+
halt.push(file);
|
|
230
|
+
else
|
|
231
|
+
writes.push({ file, content: resolved });
|
|
232
|
+
}
|
|
233
|
+
if (halt.length > 0) {
|
|
234
|
+
// Genuine conflict → leave the tree untouched and HALT.
|
|
235
|
+
await git(["merge", "--abort"], opts.workdir);
|
|
236
|
+
return {
|
|
237
|
+
status: "halt",
|
|
238
|
+
integrationRef,
|
|
239
|
+
merged: false,
|
|
240
|
+
autoResolved: [],
|
|
241
|
+
conflicted: halt,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
for (const w of writes) {
|
|
245
|
+
await fs.writeFile(path.join(opts.workdir, w.file), w.content, "utf8");
|
|
246
|
+
await git(["add", "--", w.file], opts.workdir);
|
|
247
|
+
autoResolved.push(w.file);
|
|
248
|
+
}
|
|
249
|
+
const commit = await git(["commit", "--no-edit"], opts.workdir);
|
|
250
|
+
if (commit.exitCode !== 0) {
|
|
251
|
+
// Could not finalize the merge (e.g. residual unmerged path) — fail safe.
|
|
252
|
+
await git(["merge", "--abort"], opts.workdir);
|
|
253
|
+
return {
|
|
254
|
+
status: "halt",
|
|
255
|
+
integrationRef,
|
|
256
|
+
merged: false,
|
|
257
|
+
autoResolved: [],
|
|
258
|
+
conflicted: unmerged,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
merged = true;
|
|
262
|
+
}
|
|
263
|
+
// Regenerate artifacts so the merged tree's generated files are current
|
|
264
|
+
// before the agent + gate run. Best-effort; output is gitignored.
|
|
265
|
+
try {
|
|
266
|
+
await regen(opts.workdir);
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
/* non-fatal: the gate's prebuild hooks regenerate again anyway */
|
|
270
|
+
}
|
|
271
|
+
return { status: "reconciled", integrationRef, merged, autoResolved, conflicted: [] };
|
|
272
|
+
}
|
|
136
273
|
//# sourceMappingURL=rework.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rework.js","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"rework.js","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"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"}
|