@tokenfactory/acc-runner 0.8.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +175 -69
- package/dist/cli.js +42 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +22 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +89 -3
- package/dist/config.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +64 -5
- package/dist/doctor.js.map +1 -1
- package/dist/failure-classifier.d.ts +33 -0
- package/dist/failure-classifier.d.ts.map +1 -0
- package/dist/failure-classifier.js +128 -0
- package/dist/failure-classifier.js.map +1 -0
- package/dist/login.d.ts +3 -0
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +5 -2
- package/dist/login.js.map +1 -1
- package/dist/runtime/conflict-resolver.d.ts +65 -0
- package/dist/runtime/conflict-resolver.d.ts.map +1 -0
- package/dist/runtime/conflict-resolver.js +477 -0
- package/dist/runtime/conflict-resolver.js.map +1 -0
- package/dist/runtime/quarantine.d.ts +16 -0
- package/dist/runtime/quarantine.d.ts.map +1 -0
- package/dist/runtime/quarantine.js +50 -0
- package/dist/runtime/quarantine.js.map +1 -0
- package/dist/runtime/reviewer.d.ts +4 -0
- package/dist/runtime/reviewer.d.ts.map +1 -1
- package/dist/runtime/reviewer.js +102 -30
- package/dist/runtime/reviewer.js.map +1 -1
- package/dist/runtime/rework.d.ts +48 -0
- package/dist/runtime/rework.d.ts.map +1 -0
- package/dist/runtime/rework.js +136 -0
- package/dist/runtime/rework.js.map +1 -0
- package/dist/runtime/worktree.d.ts +11 -0
- package/dist/runtime/worktree.d.ts.map +1 -1
- package/dist/runtime/worktree.js +11 -5
- package/dist/runtime/worktree.js.map +1 -1
- package/dist/task-runner.d.ts +21 -0
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +347 -19
- package/dist/task-runner.js.map +1 -1
- package/dist/token-provider.d.ts +50 -0
- package/dist/token-provider.d.ts.map +1 -0
- package/dist/token-provider.js +177 -0
- package/dist/token-provider.js.map +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/watch.d.ts +30 -0
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +358 -45
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
package/dist/task-runner.js
CHANGED
|
@@ -22,6 +22,7 @@ import { fileURLToPath, pathToFileURL } from "node:url";
|
|
|
22
22
|
import { execa } from "execa";
|
|
23
23
|
import { loadProfile as defaultLoadProfile } from "./config.js";
|
|
24
24
|
import { normalizeUsage, parseClaudeJson, priceUsdCents, toCliAlias, } from "./cost-pricing.js";
|
|
25
|
+
import { classifyClaudeExit } from "./failure-classifier.js";
|
|
25
26
|
import { git as defaultGit } from "./git.js";
|
|
26
27
|
import { gh as defaultGh } from "./gh.js";
|
|
27
28
|
import { writeMcpConfig as defaultWriteMcpConfig, } from "./mcp-spawn.js";
|
|
@@ -29,6 +30,8 @@ import { postRunnerStateMessage as defaultPostRunnerStateMessage, } from "./mess
|
|
|
29
30
|
import { branchForTask, prTitleForTask, renderTaskPrompt, } from "./prompt.js";
|
|
30
31
|
import { acquireTaskLock as defaultAcquireTaskLock, TaskLockHeldError, } from "./runtime/locks.js";
|
|
31
32
|
import { prepareTaskWorktree as defaultPrepareTaskWorktree, } from "./runtime/worktree.js";
|
|
33
|
+
import { parseConflictMeta, resolveConflict, MAX_CONFLICT_ATTEMPTS, } from "./runtime/conflict-resolver.js";
|
|
34
|
+
import { parseReworkMeta, renderReworkPrompt, fetchPrHeadRef as defaultFetchPrHeadRef, } from "./runtime/rework.js";
|
|
32
35
|
const LOG_BATCH_BYTES = 4 * 1024;
|
|
33
36
|
/**
|
|
34
37
|
* v0.6.0 REG-296: build the argv for `claude --print`. Splitting this
|
|
@@ -258,6 +261,143 @@ async function defaultPostCostEvent(supabase, event) {
|
|
|
258
261
|
if (error)
|
|
259
262
|
throw new Error(error.message);
|
|
260
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* v0.48 T-48-5: conflict_resolution task path.
|
|
266
|
+
*
|
|
267
|
+
* Called when the fetched task has type='conflict_resolution'. Does not
|
|
268
|
+
* spawn Claude — resolves conflicts via GitHub API and transitions directly.
|
|
269
|
+
* Runs inside the existing claim/lock/signal infrastructure of runTask.
|
|
270
|
+
*/
|
|
271
|
+
async function runConflictResolutionPath(taskId, task, deps, postState_, appendEventFn) {
|
|
272
|
+
await postState_("planning", "info", {
|
|
273
|
+
runner_id: deps.session.runnerId,
|
|
274
|
+
task_type: "conflict_resolution",
|
|
275
|
+
});
|
|
276
|
+
const meta = parseConflictMeta(task.description, {
|
|
277
|
+
pr_number: task.pr_number,
|
|
278
|
+
repo: task.repo,
|
|
279
|
+
integration_branch: task.integration_branch,
|
|
280
|
+
});
|
|
281
|
+
if (!meta || !meta.repo) {
|
|
282
|
+
const msg = "conflict_resolution task missing PR metadata (pr_number + repo in description or task fields)";
|
|
283
|
+
await appendEventFn("error", { phase: "conflict_resolution", error: msg });
|
|
284
|
+
await deps.supabase.rpc("transition_task", {
|
|
285
|
+
p_task_id: taskId,
|
|
286
|
+
p_new_status: "failed",
|
|
287
|
+
});
|
|
288
|
+
return { taskId, status: "failed", phase: "fetch", error: msg };
|
|
289
|
+
}
|
|
290
|
+
await postState_("coding", "info", {
|
|
291
|
+
runner_id: deps.session.runnerId,
|
|
292
|
+
pr_number: meta.pr_number,
|
|
293
|
+
repo: meta.repo,
|
|
294
|
+
});
|
|
295
|
+
const conflictDeps = {
|
|
296
|
+
supabase: deps.supabase,
|
|
297
|
+
...deps.conflictResolutionDeps,
|
|
298
|
+
};
|
|
299
|
+
const outcome = await resolveConflict(meta, conflictDeps);
|
|
300
|
+
await appendEventFn("conflict_resolution_attempt", {
|
|
301
|
+
action: outcome.action,
|
|
302
|
+
reason: outcome.reason ?? null,
|
|
303
|
+
pr_number: meta.pr_number,
|
|
304
|
+
repo: meta.repo,
|
|
305
|
+
files_resolved: outcome.files_resolved ?? [],
|
|
306
|
+
files_skipped: outcome.files_skipped ?? [],
|
|
307
|
+
max_attempts: MAX_CONFLICT_ATTEMPTS,
|
|
308
|
+
});
|
|
309
|
+
if (outcome.action === "resolved") {
|
|
310
|
+
await postState_("done", "info", {
|
|
311
|
+
runner_id: deps.session.runnerId,
|
|
312
|
+
pr_number: meta.pr_number,
|
|
313
|
+
resolution: "resolved",
|
|
314
|
+
});
|
|
315
|
+
await deps.supabase.rpc("transition_task", {
|
|
316
|
+
p_task_id: taskId,
|
|
317
|
+
p_new_status: "done",
|
|
318
|
+
});
|
|
319
|
+
// Best-effort activity log
|
|
320
|
+
try {
|
|
321
|
+
await deps.supabase.rpc("log_activity", {
|
|
322
|
+
p_verb: "conflict.resolved",
|
|
323
|
+
p_target_id: String(meta.pr_number),
|
|
324
|
+
p_payload: {
|
|
325
|
+
task_id: taskId,
|
|
326
|
+
repo: meta.repo,
|
|
327
|
+
files: outcome.files_resolved ?? [],
|
|
328
|
+
reason: outcome.reason,
|
|
329
|
+
},
|
|
330
|
+
p_target_type: "pr",
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
catch { /* best-effort */ }
|
|
334
|
+
return { taskId, status: "ok", exitCode: 0 };
|
|
335
|
+
}
|
|
336
|
+
if (outcome.action === "policy_disabled") {
|
|
337
|
+
// detect-and-skip: transition to done, no escalation
|
|
338
|
+
await postState_("done", "info", {
|
|
339
|
+
runner_id: deps.session.runnerId,
|
|
340
|
+
skipped_reason: "conflict_policy.enabled=false",
|
|
341
|
+
});
|
|
342
|
+
await deps.supabase.rpc("transition_task", {
|
|
343
|
+
p_task_id: taskId,
|
|
344
|
+
p_new_status: "done",
|
|
345
|
+
});
|
|
346
|
+
return { taskId, status: "ok", exitCode: 0 };
|
|
347
|
+
}
|
|
348
|
+
if (outcome.action === "escalated") {
|
|
349
|
+
// max attempts reached — escalate to operator
|
|
350
|
+
const escalationMsg = outcome.reason ?? "conflict_unresolvable after max attempts";
|
|
351
|
+
await postState_("blocked", "error_context", {
|
|
352
|
+
task_id: taskId,
|
|
353
|
+
phase: "conflict_resolution",
|
|
354
|
+
error_class: "conflict_unresolvable",
|
|
355
|
+
pr_number: meta.pr_number,
|
|
356
|
+
repo: meta.repo,
|
|
357
|
+
stderr_tail: escalationMsg,
|
|
358
|
+
});
|
|
359
|
+
try {
|
|
360
|
+
await deps.supabase.rpc("log_activity", {
|
|
361
|
+
p_verb: "conflict.escalated",
|
|
362
|
+
p_target_id: String(meta.pr_number),
|
|
363
|
+
p_payload: {
|
|
364
|
+
task_id: taskId,
|
|
365
|
+
repo: meta.repo,
|
|
366
|
+
reason: escalationMsg,
|
|
367
|
+
prior_attempts: MAX_CONFLICT_ATTEMPTS,
|
|
368
|
+
},
|
|
369
|
+
p_target_type: "pr",
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
catch { /* best-effort */ }
|
|
373
|
+
// Transition to done (not failed) so Sweep C doesn't create another task.
|
|
374
|
+
// The escalation signal is on the message bus + activity log.
|
|
375
|
+
await deps.supabase.rpc("transition_task", {
|
|
376
|
+
p_task_id: taskId,
|
|
377
|
+
p_new_status: "done",
|
|
378
|
+
});
|
|
379
|
+
return { taskId, status: "ok", exitCode: 0 };
|
|
380
|
+
}
|
|
381
|
+
// outcome.action === "unresolvable" — transition to failed so Sweep C can retry.
|
|
382
|
+
const failMsg = outcome.reason ?? "conflict not automatically resolvable";
|
|
383
|
+
await postState_("blocked", "error_context", {
|
|
384
|
+
task_id: taskId,
|
|
385
|
+
phase: "conflict_resolution",
|
|
386
|
+
error_class: "conflict_unresolvable_single",
|
|
387
|
+
pr_number: meta.pr_number,
|
|
388
|
+
stderr_tail: failMsg,
|
|
389
|
+
});
|
|
390
|
+
await deps.supabase.rpc("transition_task", {
|
|
391
|
+
p_task_id: taskId,
|
|
392
|
+
p_new_status: "failed",
|
|
393
|
+
});
|
|
394
|
+
return {
|
|
395
|
+
taskId,
|
|
396
|
+
status: "failed",
|
|
397
|
+
phase: "claude_exit",
|
|
398
|
+
error: failMsg,
|
|
399
|
+
};
|
|
400
|
+
}
|
|
261
401
|
export function runTask(taskId, deps) {
|
|
262
402
|
const git = deps.git ?? defaultGit;
|
|
263
403
|
const gh = deps.gh ?? defaultGh;
|
|
@@ -433,7 +573,59 @@ export function runTask(taskId, deps) {
|
|
|
433
573
|
}
|
|
434
574
|
const result = fetched.data;
|
|
435
575
|
const { task } = result;
|
|
436
|
-
|
|
576
|
+
// v0.48 T-48-5: conflict_resolution tasks bypass Claude Code entirely.
|
|
577
|
+
// The runner resolves conflicts on the real base∩head file set via the
|
|
578
|
+
// GitHub API, pushes the resolution, and transitions the task to done
|
|
579
|
+
// (or escalates after MAX_CONFLICT_ATTEMPTS failed attempts).
|
|
580
|
+
if (task.type === "conflict_resolution") {
|
|
581
|
+
return await runConflictResolutionPath(taskId, task, deps, postState_, appendEvent.bind(null, deps.supabase, taskId));
|
|
582
|
+
}
|
|
583
|
+
// v0.51 T-51-1: rework tasks run the normal Claude session, but against
|
|
584
|
+
// the PR's EXISTING head branch — the worktree forks from
|
|
585
|
+
// origin/<branch> instead of the integration branch, the prompt carries
|
|
586
|
+
// the reviewer's verdict + comments, and the push goes back to the same
|
|
587
|
+
// branch (same PR; no new PR is opened).
|
|
588
|
+
let reworkMeta = null;
|
|
589
|
+
if (task.type === "rework") {
|
|
590
|
+
reworkMeta = parseReworkMeta(task.description, {
|
|
591
|
+
pr_number: task.pr_number,
|
|
592
|
+
repo: task.repo,
|
|
593
|
+
branch: task.branch,
|
|
594
|
+
});
|
|
595
|
+
if (!reworkMeta) {
|
|
596
|
+
const msg = "rework task missing PR metadata (acc-rework sentinel or pr_number + repo on task row)";
|
|
597
|
+
await appendEvent(deps.supabase, taskId, "error", { phase: "rework", error: msg });
|
|
598
|
+
await postState_("blocked", "error_context", {
|
|
599
|
+
task_id: taskId,
|
|
600
|
+
phase: "plan",
|
|
601
|
+
error_class: "rework_meta_missing",
|
|
602
|
+
stderr_tail: msg,
|
|
603
|
+
});
|
|
604
|
+
await deps.supabase.rpc("transition_task", {
|
|
605
|
+
p_task_id: taskId,
|
|
606
|
+
p_new_status: "failed",
|
|
607
|
+
});
|
|
608
|
+
return { taskId, status: "failed", phase: "fetch", error: msg };
|
|
609
|
+
}
|
|
610
|
+
if (!reworkMeta.branch) {
|
|
611
|
+
try {
|
|
612
|
+
reworkMeta.branch = await (deps.fetchPrHeadRef ?? defaultFetchPrHeadRef)(reworkMeta.repo, reworkMeta.pr_number);
|
|
613
|
+
}
|
|
614
|
+
catch { /* handled by the empty-branch check below */ }
|
|
615
|
+
if (!reworkMeta.branch) {
|
|
616
|
+
const msg = `rework task could not resolve head branch for PR #${reworkMeta.pr_number}`;
|
|
617
|
+
await appendEvent(deps.supabase, taskId, "error", { phase: "rework", error: msg });
|
|
618
|
+
await deps.supabase.rpc("transition_task", {
|
|
619
|
+
p_task_id: taskId,
|
|
620
|
+
p_new_status: "failed",
|
|
621
|
+
});
|
|
622
|
+
return { taskId, status: "failed", phase: "fetch", error: msg };
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
const branch = reworkMeta
|
|
627
|
+
? reworkMeta.branch
|
|
628
|
+
: branchForTask(task.id, task.title, task.branch);
|
|
437
629
|
// REG-295: per-task repo overrides — task row trumps config so one
|
|
438
630
|
// runner can service tasks across multiple repos. Env-backed config
|
|
439
631
|
// remains the fallback for tasks that don't carry a hint yet.
|
|
@@ -445,13 +637,17 @@ export function runTask(taskId, deps) {
|
|
|
445
637
|
// already defaults to "acc/integration" so the third fallback only
|
|
446
638
|
// matters when an operator zeroed it out via env.
|
|
447
639
|
const integrationBranch = task.integration_branch?.trim() || deps.cfg.integrationBranch || "main";
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
640
|
+
// v0.51 T-51-1: rework prompts replace the "open a PR" protocol header
|
|
641
|
+
// with "update the existing PR's branch" + the reviewer's verdict.
|
|
642
|
+
const renderedPrompt = reworkMeta
|
|
643
|
+
? renderReworkPrompt({ task, meta: reworkMeta, branch })
|
|
644
|
+
: renderTaskPrompt({
|
|
645
|
+
task,
|
|
646
|
+
agent: result.agent,
|
|
647
|
+
model: result.model,
|
|
648
|
+
integrationBranch,
|
|
649
|
+
targetRepo,
|
|
650
|
+
});
|
|
455
651
|
// v0.14-MESSAGING-RUNTIME-WIRE: profile-driven prompt prelude.
|
|
456
652
|
// When loadProfile() returns null OR the profile has no prelude
|
|
457
653
|
// OR the prelude module's default export is the empty string,
|
|
@@ -518,9 +714,17 @@ export function runTask(taskId, deps) {
|
|
|
518
714
|
clearGitLocks(repoPath);
|
|
519
715
|
worktree = await prepareWorktree({
|
|
520
716
|
repoPath,
|
|
717
|
+
// v0.41-B: when an operator has configured a separate mirror
|
|
718
|
+
// clone for worktree ops, prepareTaskWorktree runs add/remove/
|
|
719
|
+
// prune against it; `git fetch` above still targets repoPath.
|
|
720
|
+
// Undefined preserves v0.40 behaviour byte-for-byte.
|
|
721
|
+
worktreeRepoPath: deps.cfg.worktreeRepoPath,
|
|
521
722
|
taskId,
|
|
522
723
|
branch,
|
|
523
|
-
|
|
724
|
+
// v0.51 T-51-1: rework tasks fork the worktree from the PR's
|
|
725
|
+
// remote head (just fetched above) so Claude sees the branch's
|
|
726
|
+
// current contents; normal tasks fork from the integration base.
|
|
727
|
+
baseBranch: reworkMeta ? `origin/${branch}` : integrationBranch,
|
|
524
728
|
});
|
|
525
729
|
workdir = worktree.path;
|
|
526
730
|
// v0.12-RESUME: log resume-vs-fresh so an operator can audit
|
|
@@ -575,7 +779,9 @@ export function runTask(taskId, deps) {
|
|
|
575
779
|
// already pushed the branch and opened a PR. Re-running Claude Code
|
|
576
780
|
// would fail at `git push` (non-fast-forward). Check for an existing
|
|
577
781
|
// open PR before spawning and skip the coding step if one is found.
|
|
578
|
-
|
|
782
|
+
// v0.51 T-51-1: skipped for rework tasks — their PR exists by design;
|
|
783
|
+
// the whole point is to spawn Claude against it.
|
|
784
|
+
if (!reworkMeta) {
|
|
579
785
|
const existingPrUrl = await gh.findOpenPR(workdir, branch);
|
|
580
786
|
if (existingPrUrl) {
|
|
581
787
|
await appendEvent(deps.supabase, taskId, "log", {
|
|
@@ -633,6 +839,9 @@ export function runTask(taskId, deps) {
|
|
|
633
839
|
// accepts (`sonnet` or `claude-sonnet-4-6`). Unknown ids pass
|
|
634
840
|
// through verbatim so a future model not yet in the embedded
|
|
635
841
|
// table still spawns.
|
|
842
|
+
// v0.48: record spawn time so the failure classifier can apply
|
|
843
|
+
// the fast-exit env_broken heuristic (pd36 storm fingerprint).
|
|
844
|
+
const claudeSpawnedAt = Date.now();
|
|
636
845
|
child = spawnClaude(workdir, toCliAlias(result.model?.id));
|
|
637
846
|
if (child.stdin) {
|
|
638
847
|
child.stdin.write(prompt);
|
|
@@ -679,15 +888,24 @@ export function runTask(taskId, deps) {
|
|
|
679
888
|
return { taskId, status: "cancelled", exitCode: outcome.exitCode };
|
|
680
889
|
}
|
|
681
890
|
if (outcome.exitCode !== 0) {
|
|
891
|
+
// v0.48: classify the failure before logging so the quarantine
|
|
892
|
+
// cause is consistent across the event, the bus message, and
|
|
893
|
+
// the RunTaskOutcome that watch.ts inspects.
|
|
894
|
+
const claudeDurationMs = Date.now() - claudeSpawnedAt;
|
|
895
|
+
const classified = classifyClaudeExit(outcome.exitCode, capturedStderr, capturedStdout, claudeDurationMs);
|
|
682
896
|
await appendEvent(deps.supabase, taskId, "error", {
|
|
683
897
|
phase: "claude_exit",
|
|
684
898
|
exit_code: outcome.exitCode,
|
|
899
|
+
exit_class: classified.class,
|
|
685
900
|
stderr_tail: capturedStderr.slice(-2000),
|
|
686
901
|
});
|
|
687
902
|
await postState_("blocked", "error_context", {
|
|
688
903
|
task_id: taskId,
|
|
689
904
|
phase: "code",
|
|
690
905
|
error_class: `claude_exit_${outcome.exitCode ?? "unknown"}`,
|
|
906
|
+
// v0.48: include the classified failure class so the planner can
|
|
907
|
+
// distinguish machine-level failures from task-level failures.
|
|
908
|
+
exit_class: classified.class,
|
|
691
909
|
// Recommended cap from MESSAGING_PROTOCOLS.md: last ~4 KB.
|
|
692
910
|
stderr_tail: capturedStderr.slice(-4000),
|
|
693
911
|
});
|
|
@@ -695,12 +913,14 @@ export function runTask(taskId, deps) {
|
|
|
695
913
|
p_task_id: taskId,
|
|
696
914
|
p_new_status: "failed",
|
|
697
915
|
});
|
|
916
|
+
const quarantineCause = classified.class !== "task_error" ? classified.class : undefined;
|
|
698
917
|
return {
|
|
699
918
|
taskId,
|
|
700
919
|
status: "failed",
|
|
701
920
|
phase: "claude_exit",
|
|
702
921
|
exitCode: outcome.exitCode,
|
|
703
|
-
error: capturedStderr.slice(-200).trim() ||
|
|
922
|
+
error: capturedStderr.slice(-200).trim() || classified.detail,
|
|
923
|
+
quarantine_cause: quarantineCause,
|
|
704
924
|
};
|
|
705
925
|
}
|
|
706
926
|
// v0.14-MESSAGING-RUNTIME-WIRE: Claude finished successfully.
|
|
@@ -712,6 +932,90 @@ export function runTask(taskId, deps) {
|
|
|
712
932
|
runner_id: deps.session.runnerId,
|
|
713
933
|
exit_code: outcome.exitCode ?? 0,
|
|
714
934
|
});
|
|
935
|
+
// v0.51 T-51-1: rework completion path. Push the fixes to the SAME
|
|
936
|
+
// branch (same PR) — never open a new PR — then re-enqueue a review
|
|
937
|
+
// and flip the origin task back to needs-review so the existing
|
|
938
|
+
// automerge flow re-evaluates. No v0.32-A "PR exists" fallback on
|
|
939
|
+
// push failure here: a rework push that didn't land means the
|
|
940
|
+
// reviewer feedback was NOT addressed, so the task must fail.
|
|
941
|
+
if (reworkMeta) {
|
|
942
|
+
try {
|
|
943
|
+
await git.push(workdir, branch);
|
|
944
|
+
}
|
|
945
|
+
catch (err) {
|
|
946
|
+
const msg = err.message;
|
|
947
|
+
await appendEvent(deps.supabase, taskId, "error", {
|
|
948
|
+
phase: "push",
|
|
949
|
+
error: msg,
|
|
950
|
+
rework: true,
|
|
951
|
+
pr_number: reworkMeta.pr_number,
|
|
952
|
+
});
|
|
953
|
+
await postState_("blocked", "error_context", {
|
|
954
|
+
task_id: taskId,
|
|
955
|
+
phase: "review",
|
|
956
|
+
error_class: "rework_push_failed",
|
|
957
|
+
stderr_tail: msg,
|
|
958
|
+
});
|
|
959
|
+
await deps.supabase.rpc("transition_task", {
|
|
960
|
+
p_task_id: taskId,
|
|
961
|
+
p_new_status: "failed",
|
|
962
|
+
});
|
|
963
|
+
return { taskId, status: "failed", phase: "push", error: msg };
|
|
964
|
+
}
|
|
965
|
+
// Order matters: request the fresh review BEFORE flipping the
|
|
966
|
+
// origin task back to needs-review. The automerge cron acts on the
|
|
967
|
+
// LATEST review_queue row — if the task re-entered candidacy while
|
|
968
|
+
// the stale completed reject was still latest, the cron would
|
|
969
|
+
// re-finalize that reject and burn a rework cycle without any
|
|
970
|
+
// re-review. With the pending row in place first, the cron sees
|
|
971
|
+
// review_pending and waits for the real verdict.
|
|
972
|
+
if (reworkMeta.origin_task_id) {
|
|
973
|
+
const requested = await deps.supabase.rpc("request_review", {
|
|
974
|
+
p_task_id: reworkMeta.origin_task_id,
|
|
975
|
+
p_pr_number: reworkMeta.pr_number,
|
|
976
|
+
});
|
|
977
|
+
if (requested.error) {
|
|
978
|
+
process.stderr.write(`[acc-runner] rework request_review(${reworkMeta.origin_task_id}) failed: ` +
|
|
979
|
+
`${requested.error.message}\n`);
|
|
980
|
+
}
|
|
981
|
+
const flipped = await deps.supabase.rpc("transition_task", {
|
|
982
|
+
p_task_id: reworkMeta.origin_task_id,
|
|
983
|
+
p_new_status: "needs-review",
|
|
984
|
+
});
|
|
985
|
+
if (flipped.error) {
|
|
986
|
+
// Best-effort: requires migration 0172's widened matrix
|
|
987
|
+
// (changes-requested → needs-review). On failure the pending
|
|
988
|
+
// review row still completes via the runner reviewer; the
|
|
989
|
+
// operator sees the origin task parked at changes-requested.
|
|
990
|
+
process.stderr.write(`[acc-runner] rework transition(${reworkMeta.origin_task_id}→needs-review) failed: ` +
|
|
991
|
+
`${flipped.error.message}\n`);
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
else {
|
|
995
|
+
await appendEvent(deps.supabase, taskId, "log", {
|
|
996
|
+
phase: "rework",
|
|
997
|
+
stream: "stderr",
|
|
998
|
+
message: "rework meta has no origin_task_id — re-review not auto-triggered",
|
|
999
|
+
});
|
|
1000
|
+
}
|
|
1001
|
+
await appendEvent(deps.supabase, taskId, "rework_pushed", {
|
|
1002
|
+
pr_number: reworkMeta.pr_number,
|
|
1003
|
+
repo: reworkMeta.repo,
|
|
1004
|
+
branch,
|
|
1005
|
+
cycle: reworkMeta.cycle,
|
|
1006
|
+
origin_task_id: reworkMeta.origin_task_id || null,
|
|
1007
|
+
});
|
|
1008
|
+
await postState_("done", "info", {
|
|
1009
|
+
runner_id: deps.session.runnerId,
|
|
1010
|
+
pr_number: reworkMeta.pr_number,
|
|
1011
|
+
rework: true,
|
|
1012
|
+
});
|
|
1013
|
+
await deps.supabase.rpc("transition_task", {
|
|
1014
|
+
p_task_id: taskId,
|
|
1015
|
+
p_new_status: "done",
|
|
1016
|
+
});
|
|
1017
|
+
return { taskId, status: "ok", exitCode: 0 };
|
|
1018
|
+
}
|
|
715
1019
|
// 5. Push + open PR. Both run from the worktree so the operator's
|
|
716
1020
|
// shared clone never has the task branch checked out.
|
|
717
1021
|
let prUrl = "";
|
|
@@ -766,15 +1070,39 @@ export function runTask(taskId, deps) {
|
|
|
766
1070
|
}
|
|
767
1071
|
catch (err) {
|
|
768
1072
|
const msg = err.message;
|
|
769
|
-
//
|
|
770
|
-
//
|
|
771
|
-
//
|
|
772
|
-
//
|
|
773
|
-
|
|
774
|
-
|
|
1073
|
+
// v0.8.2: gh pr create returns a non-zero exit when a PR already
|
|
1074
|
+
// exists for this branch (common on runner-crash + re-pick-up).
|
|
1075
|
+
// GitHub's error message embeds the existing PR URL. Extract it
|
|
1076
|
+
// and treat the outcome as a successful PR open so set_task_pr can
|
|
1077
|
+
// transition the task to needs-review rather than leaving it stuck.
|
|
1078
|
+
const prAlreadyExistsMatch = /already exists/i.test(msg) &&
|
|
1079
|
+
msg.match(/https:\/\/github\.com\/[^\s]+\/pull\/\d+/);
|
|
1080
|
+
if (prAlreadyExistsMatch) {
|
|
1081
|
+
prUrl = prAlreadyExistsMatch[0];
|
|
1082
|
+
try {
|
|
1083
|
+
await appendEvent(deps.supabase, taskId, "log", {
|
|
1084
|
+
phase: "pr_open",
|
|
1085
|
+
stream: "stdout",
|
|
1086
|
+
event: "retry.pr_create_already_exists",
|
|
1087
|
+
pr_url: prUrl,
|
|
1088
|
+
message: "gh pr create reported PR already exists — recovered URL from error message",
|
|
1089
|
+
});
|
|
1090
|
+
}
|
|
1091
|
+
catch (logErr) {
|
|
1092
|
+
process.stderr.write(`[acc-runner] pr_open log failed: ${logErr.message}\n`);
|
|
1093
|
+
}
|
|
775
1094
|
}
|
|
776
|
-
|
|
777
|
-
|
|
1095
|
+
else {
|
|
1096
|
+
// Best-effort log; don't transition to failed — the push succeeded
|
|
1097
|
+
// and the user can open a PR manually (webhook back-write picks
|
|
1098
|
+
// it up). Wrapped so a logging RPC failure can't block the
|
|
1099
|
+
// terminal status write below.
|
|
1100
|
+
try {
|
|
1101
|
+
await appendEvent(deps.supabase, taskId, "error", { phase: "pr_open", error: msg });
|
|
1102
|
+
}
|
|
1103
|
+
catch (logErr) {
|
|
1104
|
+
process.stderr.write(`[acc-runner] pr_open error log failed: ${logErr.message}\n`);
|
|
1105
|
+
}
|
|
778
1106
|
}
|
|
779
1107
|
}
|
|
780
1108
|
// v0.35-B: write pr_number + transition running→needs-review via
|
package/dist/task-runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-runner.js","sourceRoot":"","sources":["../src/task-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-runner.js","sourceRoot":"","sources":["../src/task-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { StoredSession } from "./types.js";
|
|
2
|
+
export type TokenMode = "keychain" | "env";
|
|
3
|
+
export interface TokenProvider {
|
|
4
|
+
readonly mode: TokenMode;
|
|
5
|
+
/** True when the provider has a refresh token to rotate. The watch
|
|
6
|
+
* loop skips refresh timers / startup refresh when false. */
|
|
7
|
+
canRefresh(): boolean;
|
|
8
|
+
load(): Promise<StoredSession | null>;
|
|
9
|
+
save(session: StoredSession): Promise<void>;
|
|
10
|
+
clear(): Promise<boolean>;
|
|
11
|
+
}
|
|
12
|
+
/** Prefix marking a runner as ephemeral to the autoscale sweep. */
|
|
13
|
+
export declare const EPHEMERAL_RUNNER_PREFIX = "acc-eph-";
|
|
14
|
+
/** Mint a fresh ephemeral runner id: acc-eph-<8 hex chars>. */
|
|
15
|
+
export declare function mintEphemeralRunnerId(): string;
|
|
16
|
+
export declare function isEphemeralRunnerId(id: string): boolean;
|
|
17
|
+
interface JwtClaims {
|
|
18
|
+
sub?: string;
|
|
19
|
+
email?: string;
|
|
20
|
+
exp?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Decode the payload segment of a JWT without verifying the signature.
|
|
24
|
+
* The runner is the token's *bearer*, not its verifier — PostgREST does
|
|
25
|
+
* the real verification server-side. Returns null on any shape problem
|
|
26
|
+
* so a malformed env token fails loudly at startup with a clear message
|
|
27
|
+
* rather than an opaque 401 on the first RPC.
|
|
28
|
+
*/
|
|
29
|
+
export declare function decodeJwtClaims(jwt: string): JwtClaims | null;
|
|
30
|
+
export declare class EnvTokenProvider implements TokenProvider {
|
|
31
|
+
readonly mode: "env";
|
|
32
|
+
private session;
|
|
33
|
+
private initError;
|
|
34
|
+
constructor(env?: NodeJS.ProcessEnv);
|
|
35
|
+
canRefresh(): boolean;
|
|
36
|
+
load(): Promise<StoredSession | null>;
|
|
37
|
+
save(session: StoredSession): Promise<void>;
|
|
38
|
+
clear(): Promise<boolean>;
|
|
39
|
+
}
|
|
40
|
+
export declare function resolveTokenMode(env?: NodeJS.ProcessEnv): TokenMode;
|
|
41
|
+
/**
|
|
42
|
+
* Resolve the process-wide token provider. Cached so the ephemeral
|
|
43
|
+
* runner id minted by EnvTokenProvider is stable across watch.ts,
|
|
44
|
+
* doctor.ts, and any future consumer in the same process.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getTokenProvider(): TokenProvider;
|
|
47
|
+
/** Test-only seam: override or reset the cached provider. */
|
|
48
|
+
export declare function __setTokenProvider(provider: TokenProvider | null): void;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=token-provider.d.ts.map
|