next-issue 1.0.1 → 1.0.2

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 CHANGED
@@ -63,12 +63,12 @@ For each open issue, oldest first:
63
63
  merge queue, and then waits for the checks that the merge commit starts on
64
64
  the base branch. A cancelled run there is no failure. When those checks
65
65
  fail, the fixer gets their logs on a branch reset to the base branch, from
66
- the check budget, and the harness reopens the issue and opens a new pull
67
- request that goes to step 6 again, with fresh review rounds. The next
68
- issue waits for this, and a second ctrl-c stops only after it. The
69
- worktree, the local branch and the state file go away. Without `--merge`,
70
- the remote branch stays. A problem that the reviewer leaves out of the
71
- findings thus gets an approval: only the findings count.
66
+ the check budget, and the harness force-pushes the fix, reopens the issue
67
+ and opens a new pull request that goes to step 6 again, with fresh review
68
+ rounds. The next issue waits for this, and a second ctrl-c stops only after
69
+ it. The worktree, the local branch and the state file go away. Without
70
+ `--merge`, the remote branch stays. A problem that the reviewer leaves out
71
+ of the findings thus gets an approval: only the findings count.
72
72
  11. With an open finding, run the fixer agent and go to step 6 again. The
73
73
  budget is `maxReviewRounds`. A fixer that holds every finding to be wrong
74
74
  changes nothing and gives its reason instead. The reason goes on the pull
package/dist/git.mjs CHANGED
@@ -108,8 +108,8 @@ export async function discardChanges(cwd, target) {
108
108
  await must("git", ["clean", "-fd"], { cwd });
109
109
  return true;
110
110
  }
111
- export async function push(cwd, remote, branch) {
112
- await must("git", ["push", "-u", remote, branch], { cwd });
111
+ export async function push(cwd, remote, branch, force = false) {
112
+ await must("git", ["push", "-u", ...(force ? ["--force"] : []), remote, branch], { cwd });
113
113
  }
114
114
  export async function resetToBase(cwd, base, remote) {
115
115
  await must("git", ["fetch", remote, base], { cwd });
package/dist/pipeline.mjs CHANGED
@@ -390,7 +390,7 @@ async function watchBase(job) {
390
390
  await ports.resetToBase(worktree, context.base, config.remote);
391
391
  const logs = await ports.failedBaseLogs(repo, sha, config.logMaxChars);
392
392
  log.event("main-checks.logs", { chars: logs.length });
393
- const fix = await fixRound(job, "The checks on main failed after the merge.", logs, [], "checks");
393
+ const fix = await fixRound(job, "The checks on main failed after the merge.", logs, [], "checks", true);
394
394
  if (!fix.committed) {
395
395
  const note = fix.unrelated;
396
396
  await escalate(job, note === undefined
@@ -443,7 +443,7 @@ async function finish(job, outcome, reason) {
443
443
  ...(job.mainBroken && outcome !== "done" ? { halt: true } : {}),
444
444
  };
445
445
  }
446
- async function fixRound(job, reason, detail, earlier, kind) {
446
+ async function fixRound(job, reason, detail, earlier, kind, force = false) {
447
447
  const { context, issue, log, worktree, branch } = job;
448
448
  const { ports } = context;
449
449
  const before = await ports.revision(worktree);
@@ -466,7 +466,7 @@ async function fixRound(job, reason, detail, earlier, kind) {
466
466
  log.event("commit.empty", { reason }, "quiet");
467
467
  return { committed: false };
468
468
  }
469
- await ports.push(worktree, context.config.remote, branch);
469
+ await ports.push(worktree, context.config.remote, branch, force);
470
470
  return { committed: true };
471
471
  }
472
472
  async function commitWork(job, before, subject, role) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-issue",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Autonomous issue harness driven by the Claude Agent SDK",
5
5
  "keywords": [
6
6
  "github",