@motivation-labs/crosscheck 0.15.0-beta.3 → 0.15.0-beta.41

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.
Files changed (56) hide show
  1. package/README.md +42 -7
  2. package/dist/__tests__/backtrace.test.js +1 -1
  3. package/dist/__tests__/backtrace.test.js.map +1 -1
  4. package/dist/__tests__/durations.test.js +5 -1
  5. package/dist/__tests__/durations.test.js.map +1 -1
  6. package/dist/__tests__/kickass.test.js +173 -56
  7. package/dist/__tests__/kickass.test.js.map +1 -1
  8. package/dist/__tests__/pr-picker.test.js +2 -2
  9. package/dist/__tests__/pr-picker.test.js.map +1 -1
  10. package/dist/__tests__/pr-status.test.js +31 -10
  11. package/dist/__tests__/pr-status.test.js.map +1 -1
  12. package/dist/__tests__/run.test.d.ts +2 -0
  13. package/dist/__tests__/run.test.d.ts.map +1 -0
  14. package/dist/__tests__/run.test.js +63 -0
  15. package/dist/__tests__/run.test.js.map +1 -0
  16. package/dist/__tests__/runner.test.js +6 -0
  17. package/dist/__tests__/runner.test.js.map +1 -1
  18. package/dist/cli.js +24 -3
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/kickass.d.ts +15 -9
  21. package/dist/commands/kickass.d.ts.map +1 -1
  22. package/dist/commands/kickass.js +154 -54
  23. package/dist/commands/kickass.js.map +1 -1
  24. package/dist/commands/run.d.ts +7 -1
  25. package/dist/commands/run.d.ts.map +1 -1
  26. package/dist/commands/run.js +227 -23
  27. package/dist/commands/run.js.map +1 -1
  28. package/dist/lib/durations.d.ts.map +1 -1
  29. package/dist/lib/durations.js +5 -3
  30. package/dist/lib/durations.js.map +1 -1
  31. package/dist/lib/pr-status.d.ts +4 -3
  32. package/dist/lib/pr-status.d.ts.map +1 -1
  33. package/dist/lib/pr-status.js +9 -8
  34. package/dist/lib/pr-status.js.map +1 -1
  35. package/dist/lib/runner.d.ts +9 -1
  36. package/dist/lib/runner.d.ts.map +1 -1
  37. package/dist/lib/runner.js +71 -10
  38. package/dist/lib/runner.js.map +1 -1
  39. package/dist/reviewers/claude.d.ts +1 -1
  40. package/dist/reviewers/claude.d.ts.map +1 -1
  41. package/dist/reviewers/claude.js +4 -2
  42. package/dist/reviewers/claude.js.map +1 -1
  43. package/dist/reviewers/codex.d.ts +1 -1
  44. package/dist/reviewers/codex.d.ts.map +1 -1
  45. package/dist/reviewers/codex.js +6 -5
  46. package/dist/reviewers/codex.js.map +1 -1
  47. package/dist/reviewers/conflict-resolve.d.ts +1 -1
  48. package/dist/reviewers/conflict-resolve.d.ts.map +1 -1
  49. package/dist/reviewers/conflict-resolve.js +3 -2
  50. package/dist/reviewers/conflict-resolve.js.map +1 -1
  51. package/dist/reviewers/fix.d.ts +1 -1
  52. package/dist/reviewers/fix.d.ts.map +1 -1
  53. package/dist/reviewers/fix.js +3 -2
  54. package/dist/reviewers/fix.js.map +1 -1
  55. package/get-started.md +12 -3
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -55,22 +55,30 @@ crosscheck status # auth state, config summary, CLI versions
55
55
 
56
56
  **Operator queue (scan + kickass)**
57
57
 
58
- `crosscheck scan` classifies every open PR by freshness and workflow state:
58
+ `crosscheck scan` tracks two independent dimensions per PR:
59
59
 
60
- | State | Meaning | Next action |
60
+ | Workflow stage (`reviewState`) | Meaning | Next action |
61
61
  |---|---|---|
62
62
  | `NEEDS_REVIEW` | No crosscheck review for current HEAD | review |
63
- | `NEEDS_FIX` | Reviewed — changes requested | fix |
64
- | `BLOCK` | Reviewed — hard block, do not merge | fix |
65
- | `NEEDS_RECHECK` | Fix was applied, recheck pending | recheck |
66
- | `APPROVE` | Reviewed and approved | merge |
63
+ | `NEEDS_FIX` | Reviewed — fix requested | fix |
64
+ | `NEEDS_RECHECK` | Fix committed, recheck pending | recheck |
65
+ | `APPROVED` | Reviewed and approved | merge |
66
+
67
+ | Verdict (`verdict`) | Meaning |
68
+ |---|---|
69
+ | `UNREVIEWED` | No review found |
70
+ | `APPROVE` | AI approved |
71
+ | `NEEDS_WORK` | AI requested changes |
72
+ | `BLOCK` | AI hard-blocked merge |
73
+
74
+ `BLOCK` and `NEEDS_WORK` both map to `NEEDS_FIX` stage — same next action, but the `verdict` field preserves severity so operators can prioritise.
67
75
 
68
76
  ```bash
69
77
  crosscheck scan [--tidy] [--stale-after <duration>] [--force] [--json]
70
78
  crosscheck kickass [--dry-run] [--stale-after <duration>] [--force]
71
79
  ```
72
80
 
73
- `crosscheck run` and `crosscheck review` both accept vendor aliases via `--reviewer`:
81
+ `crosscheck run` and `crosscheck review` accept vendor aliases via `--reviewer` / `--vendor`:
74
82
  - Claude: `claude`, `claude-code`, `cc`, `anthropic`
75
83
  - Codex: `codex`, `openai`
76
84
 
@@ -147,6 +155,9 @@ crosscheck run <pr-url> --steps review # only the review step
147
155
  crosscheck run <pr-url> --steps fix,recheck # skip initial review
148
156
  crosscheck run <pr-url> --reviewer claude # override reviewer assignment
149
157
  crosscheck run <pr-url> --dry-run # review without posting or fixing
158
+ crosscheck run <pr-url> --crazy # 🔥🔥 loop until APPROVE
159
+ crosscheck run <pr-url> --half-crazy # 🔥 loop until not BLOCK
160
+ crosscheck run <pr-url> --timeout 10m # custom reviewer timeout
150
161
  ```
151
162
 
152
163
  ---
@@ -176,10 +187,34 @@ crosscheck kickass # interactive operator queue
176
187
  crosscheck kickass --dry-run # preflight only — no mutations
177
188
  crosscheck kickass --stale-after 2h # tighter staleness threshold
178
189
  crosscheck kickass --force # bypass scan cache before picking
190
+ crosscheck kickass --crazy # 🔥🔥 auto loop until APPROVE
191
+ crosscheck kickass --half-crazy # 🔥 auto loop until not BLOCK
179
192
  ```
180
193
 
181
194
  Actions: `NEEDS_REVIEW → CR` · `NEEDS_FIX/BLOCK → Fix` · `NEEDS_RECHECK → Recheck` · `APPROVE → Merge`
182
195
 
196
+ **Autonomous loop modes**
197
+
198
+ `--crazy` and `--half-crazy` turn `run` and `kickass` into autonomous fix→recheck loops that keep going until the verdict improves — no manual re-runs needed.
199
+
200
+ | Flag | Stops when | Max rounds | Timeout |
201
+ |---|---|---|---|
202
+ | `--crazy` 🔥🔥 | verdict = `APPROVE` | ∞ | none |
203
+ | `--half-crazy` 🔥 | verdict ≠ `BLOCK` | ∞ | none |
204
+
205
+ Both flags disable all reviewer subprocess timeout constraints — long fixes on large PRs won't be cut short. Use `--timeout <duration>` (e.g. `--timeout 10m`) without these flags to set a custom cap.
206
+
207
+ ```bash
208
+ # Run full workflow and keep looping until approved
209
+ crosscheck run <pr-url> --crazy
210
+
211
+ # Advance every stale PR until it's no longer blocked
212
+ crosscheck kickass --half-crazy
213
+
214
+ # Custom timeout without looping
215
+ crosscheck run <pr-url> --timeout 10m
216
+ ```
217
+
183
218
  ---
184
219
 
185
220
  ## Configuration
@@ -218,7 +218,7 @@ describe('scanOpenPRStatuses', () => {
218
218
  mockListCommitStatuses.mockResolvedValue([{ context: 'crosscheck/review', state: 'success', updatedAt: '2026-01-01T01:05:00Z' }]);
219
219
  const result = await scanOpenPRStatuses(scopes, defaultConfig, 'token');
220
220
  expect(result.statuses).toHaveLength(1);
221
- expect(result.statuses[0].state).toBe('APPROVE');
221
+ expect(result.statuses[0].state).toBe('APPROVED');
222
222
  expect(result.statuses[0].lastActive.toISOString()).toBe('2026-01-01T01:05:00.000Z');
223
223
  expect(result.failures).toEqual([]);
224
224
  expect(mockListPRComments).toHaveBeenCalledWith('acme', 'api', 1, 'token');
@@ -1 +1 @@
1
- {"version":3,"file":"backtrace.test.js","sourceRoot":"","sources":["../../src/__tests__/backtrace.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backtrace.test.js","sourceRoot":"","sources":["../../src/__tests__/backtrace.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { formatDuration, parseDuration } from '../lib/durations.js';
3
3
  describe('parseDuration', () => {
4
- it('parses minutes, hours, and days', () => {
4
+ it('parses seconds, minutes, hours, and days', () => {
5
+ expect(parseDuration('300s')).toBe(300_000);
6
+ expect(parseDuration('300sec')).toBe(300_000);
5
7
  expect(parseDuration('30m')).toBe(30 * 60 * 1000);
8
+ expect(parseDuration('5min')).toBe(5 * 60 * 1000);
9
+ expect(parseDuration('5mins')).toBe(5 * 60 * 1000);
6
10
  expect(parseDuration('2h')).toBe(2 * 60 * 60 * 1000);
7
11
  expect(parseDuration('1d')).toBe(24 * 60 * 60 * 1000);
8
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"durations.test.js","sourceRoot":"","sources":["../../src/__tests__/durations.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"durations.test.js","sourceRoot":"","sources":["../../src/__tests__/durations.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAClD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -19,7 +19,7 @@ function pr(overrides = {}) {
19
19
  lastActiveAt: '2026-05-29T00:00:00.000Z',
20
20
  staleAfterMs: 60_000,
21
21
  ageMs: 120_000,
22
- verdict: null,
22
+ verdict: 'UNREVIEWED',
23
23
  latestAnnotation: null,
24
24
  ...overrides,
25
25
  };
@@ -39,7 +39,7 @@ function scan(prs) {
39
39
  };
40
40
  }
41
41
  describe('buildKickassRunArgs', () => {
42
- it('targets only review for stale PRs with no prior verdict', () => {
42
+ it('targets review for PRs needing first CR', () => {
43
43
  expect(buildKickassRunArgs(pr({ nextAction: 'review' }))).toEqual([
44
44
  'run',
45
45
  'https://github.com/acme/web/pull/7',
@@ -49,8 +49,29 @@ describe('buildKickassRunArgs', () => {
49
49
  'abc123456789',
50
50
  ]);
51
51
  });
52
- it('targets only fix for stale PRs with unresolved findings', () => {
53
- expect(buildKickassRunArgs(pr({
52
+ it('dispatches the fix leg first for commit-delivered fixes', () => {
53
+ const plan = buildPreflightPlan([pr({
54
+ nextAction: 'fix',
55
+ reviewState: 'NEEDS_FIX',
56
+ latestAnnotation: {
57
+ origin: 'claude',
58
+ reviewer: 'codex',
59
+ verdict: 'NEEDS_WORK',
60
+ type: 'review',
61
+ sha: 'abc1234',
62
+ },
63
+ })], undefined, 'commit');
64
+ expect(buildKickassRunArgs(plan[0])).toEqual([
65
+ 'run',
66
+ 'https://github.com/acme/web/pull/7',
67
+ '--steps',
68
+ 'fix',
69
+ '--expected-head-sha',
70
+ 'abc123456789',
71
+ ]);
72
+ });
73
+ it('dispatches fix only when fixes do not land on the PR head', () => {
74
+ const selected = pr({
54
75
  nextAction: 'fix',
55
76
  reviewState: 'NEEDS_FIX',
56
77
  latestAnnotation: {
@@ -60,7 +81,8 @@ describe('buildKickassRunArgs', () => {
60
81
  type: 'review',
61
82
  sha: 'abc1234',
62
83
  },
63
- }))).toEqual([
84
+ });
85
+ expect(buildKickassRunArgs(selected)).toEqual([
64
86
  'run',
65
87
  'https://github.com/acme/web/pull/7',
66
88
  '--steps',
@@ -69,7 +91,7 @@ describe('buildKickassRunArgs', () => {
69
91
  'abc123456789',
70
92
  ]);
71
93
  });
72
- it('targets only recheck for stale PRs after a fix', () => {
94
+ it('targets only recheck when fix was applied externally', () => {
73
95
  expect(buildKickassRunArgs(pr({ nextAction: 'recheck' }))).toEqual([
74
96
  'run',
75
97
  'https://github.com/acme/web/pull/7',
@@ -79,6 +101,33 @@ describe('buildKickassRunArgs', () => {
79
101
  'abc123456789',
80
102
  ]);
81
103
  });
104
+ it('does not append --crazy to the fix leg of a chained commit fix', () => {
105
+ const plan = buildPreflightPlan([pr({
106
+ nextAction: 'fix',
107
+ latestAnnotation: { origin: 'claude', reviewer: 'codex', verdict: 'NEEDS_WORK', type: 'review', sha: 'abc1234' },
108
+ })], 'crazy', 'commit');
109
+ const args = buildKickassRunArgs(plan[0], 'crazy');
110
+ expect(args).toContain('fix');
111
+ expect(args).not.toContain('--crazy');
112
+ });
113
+ it('appends --halfcrazy to standalone recheck actions', () => {
114
+ const plan = buildPreflightPlan([pr({
115
+ nextAction: 'recheck',
116
+ reviewState: 'NEEDS_RECHECK',
117
+ })], 'halfcrazy', 'commit');
118
+ const args = buildKickassRunArgs(plan[0], 'halfcrazy');
119
+ expect(args).toContain('--half-crazy');
120
+ expect(args).not.toContain('--crazy');
121
+ });
122
+ it('does not append round mode to deferred non-commit fixes', () => {
123
+ const args = buildKickassRunArgs(pr({
124
+ nextAction: 'fix',
125
+ latestAnnotation: { origin: 'claude', reviewer: 'codex', verdict: 'BLOCK', type: 'review', sha: 'abc1234' },
126
+ }), 'crazy');
127
+ expect(args).toContain('fix');
128
+ expect(args).not.toContain('fix,recheck');
129
+ expect(args).not.toContain('--crazy');
130
+ });
82
131
  });
83
132
  describe('runKickassWithDeps', () => {
84
133
  it('dry-run scans, picks PRs, and prints preflight without mutating', async () => {
@@ -108,9 +157,6 @@ describe('runKickassWithDeps', () => {
108
157
  dispatchRun: async () => {
109
158
  calls.push('dispatch');
110
159
  },
111
- dispatchMerge: async () => {
112
- calls.push('merge');
113
- },
114
160
  getCurrentHeadSha: async () => {
115
161
  calls.push('head');
116
162
  return selected.headSha;
@@ -119,6 +165,34 @@ describe('runKickassWithDeps', () => {
119
165
  await runKickassWithDeps({ dryRun: true, staleAfter: '1m' }, deps);
120
166
  expect(calls).toEqual(['scan', 'pick:1']);
121
167
  });
168
+ it('includes not-stale actionable PRs in the queue (stale first)', async () => {
169
+ const stalePR = pr({ number: 1, freshness: 'stale', nextAction: 'review' });
170
+ const freshPR = pr({ number: 2, freshness: 'not_stale', nextAction: 'recheck' });
171
+ let queueSeen = [];
172
+ const deps = {
173
+ loadScanResult: async () => scan([freshPR, stalePR]),
174
+ pickPRs: async (queue) => { queueSeen = queue; return []; },
175
+ confirm: async () => false,
176
+ dispatchRun: async () => { },
177
+ getCurrentHeadSha: async (item) => item.pr.headSha,
178
+ };
179
+ await runKickassWithDeps({ dryRun: false, staleAfter: '1m' }, deps);
180
+ expect(queueSeen.map(p => p.number)).toEqual([1, 2]); // stale before not-stale
181
+ });
182
+ it('excludes merge-ready PRs from the picker queue', async () => {
183
+ const approvePR = pr({ number: 1, nextAction: 'merge', reviewState: 'APPROVED' });
184
+ const reviewPR = pr({ number: 2, nextAction: 'review' });
185
+ let queueSeen = [];
186
+ const deps = {
187
+ loadScanResult: async () => scan([approvePR, reviewPR]),
188
+ pickPRs: async (queue) => { queueSeen = queue; return []; },
189
+ confirm: async () => false,
190
+ dispatchRun: async () => { },
191
+ getCurrentHeadSha: async (item) => item.pr.headSha,
192
+ };
193
+ await runKickassWithDeps({ dryRun: false, staleAfter: '1m' }, deps);
194
+ expect(queueSeen.map(p => p.number)).toEqual([2]); // merge-ready excluded from picker
195
+ });
122
196
  it('skips execution when the PR head changed after scan', async () => {
123
197
  const selected = pr({
124
198
  nextAction: 'review',
@@ -129,19 +203,10 @@ describe('runKickassWithDeps', () => {
129
203
  const dispatched = [];
130
204
  const results = await executeKickassPlan(plan, {
131
205
  getCurrentHeadSha: async () => 'def987654321',
132
- dispatchRun: async (item) => {
133
- dispatched.push(item.pr.url);
134
- },
135
- dispatchMerge: async () => {
136
- dispatched.push('merge');
137
- },
206
+ dispatchRun: async (item) => { dispatched.push(item.pr.url); },
138
207
  });
139
208
  expect(dispatched).toEqual([]);
140
- expect(results).toEqual([{
141
- pr: selected,
142
- status: 'skipped',
143
- reason: 'stale_signature',
144
- }]);
209
+ expect(results).toEqual([{ pr: selected, status: 'skipped', reason: 'stale_signature' }]);
145
210
  });
146
211
  it('downgrades NEEDS_WORK fix to CR when no current-head review comment is usable', () => {
147
212
  const selected = pr({
@@ -160,7 +225,7 @@ describe('runKickassWithDeps', () => {
160
225
  expect(plan[0].transition).toBe('PR -> CR');
161
226
  expect(plan[0].explanation).toBe('no_usable_review_comment');
162
227
  });
163
- it('skips fork fix while allowing fork review and merge actions', async () => {
228
+ it('skips fork fix while allowing fork review', async () => {
164
229
  const review = pr({
165
230
  number: 1,
166
231
  nextAction: 'review',
@@ -168,64 +233,116 @@ describe('runKickassWithDeps', () => {
168
233
  headRepo: 'fork/web',
169
234
  });
170
235
  const fix = pr({
171
- number: 2,
172
- nextAction: 'fix',
173
- reviewState: 'BLOCK',
174
- headRepo: 'fork/web',
175
- latestAnnotation: {
176
- origin: 'claude',
177
- reviewer: 'codex',
178
- verdict: 'BLOCK',
179
- type: 'review',
180
- sha: 'abc1234',
181
- },
182
- });
183
- const merge = pr({
184
- number: 3,
185
- nextAction: 'merge',
186
- reviewState: 'APPROVE',
187
- headRepo: 'fork/web',
236
+ number: 2, nextAction: 'fix', reviewState: 'NEEDS_FIX', headRepo: 'fork/web',
237
+ latestAnnotation: { origin: 'claude', reviewer: 'codex', verdict: 'BLOCK', type: 'review', sha: 'abc1234' },
188
238
  });
189
- const plan = buildPreflightPlan([review, fix, merge]);
239
+ const plan = buildPreflightPlan([review, fix]);
190
240
  const dispatched = [];
191
241
  const results = await executeKickassPlan(plan, {
192
242
  getCurrentHeadSha: async (item) => item.pr.headSha,
243
+ dispatchRun: async (item) => { dispatched.push(item.pr.number); },
244
+ });
245
+ expect(plan.map(item => item.action)).toEqual(['review', 'skip']);
246
+ expect(dispatched).toEqual([1]);
247
+ expect(results.map(result => result.reason)).toEqual([undefined, 'fork_pr']);
248
+ });
249
+ it('splits commit-delivered fix and recheck across a fresh head', async () => {
250
+ const selected = pr({
251
+ number: 9,
252
+ reviewState: 'NEEDS_FIX',
253
+ nextAction: 'fix',
254
+ latestAnnotation: { origin: 'claude', reviewer: 'codex', verdict: 'NEEDS_WORK', type: 'review', sha: 'abc1234' },
255
+ });
256
+ const plan = buildPreflightPlan([selected], 'crazy', 'commit');
257
+ const dispatched = [];
258
+ let head = selected.headSha;
259
+ const results = await executeKickassPlan(plan, {
260
+ getCurrentHeadSha: async () => head,
193
261
  dispatchRun: async (item) => {
194
- dispatched.push(item.pr.number);
195
- },
196
- dispatchMerge: async (item) => {
197
- dispatched.push(item.pr.number);
262
+ dispatched.push({ action: item.action, headSha: item.pr.headSha, args: buildKickassRunArgs(item, 'crazy') });
263
+ if (item.action === 'fix')
264
+ head = 'def987654321';
198
265
  },
199
266
  });
200
- expect(plan.map(item => item.action)).toEqual(['review', 'skip', 'merge']);
201
- expect(dispatched).toEqual([1, 3]);
202
- expect(results.map(result => result.reason)).toEqual([undefined, 'fork_pr', undefined]);
267
+ expect(results).toEqual([{ pr: selected, status: 'executed' }]);
268
+ expect(dispatched).toEqual([
269
+ { action: 'fix', headSha: 'abc123456789', args: ['run', selected.url, '--steps', 'fix', '--expected-head-sha', 'abc123456789', '--no-timeout'] },
270
+ { action: 'recheck', headSha: 'def987654321', args: ['run', selected.url, '--steps', 'recheck', '--expected-head-sha', 'def987654321', '--crazy'] },
271
+ ]);
272
+ });
273
+ it('fix plan shows [crazy] badge in transition when roundMode is crazy', () => {
274
+ const selected = pr({
275
+ reviewState: 'NEEDS_FIX',
276
+ nextAction: 'fix',
277
+ latestAnnotation: { origin: 'claude', reviewer: 'codex', verdict: 'NEEDS_WORK', type: 'review', sha: 'abc1234' },
278
+ });
279
+ const plan = buildPreflightPlan([selected], 'crazy', 'commit');
280
+ expect(plan[0].transition).toContain('[crazy]');
281
+ expect(plan[0].transition).toContain('fix→recheck');
282
+ });
283
+ it('marks non-commit fix plans as recheck deferred', () => {
284
+ const selected = pr({
285
+ reviewState: 'NEEDS_FIX',
286
+ nextAction: 'fix',
287
+ latestAnnotation: { origin: 'claude', reviewer: 'codex', verdict: 'NEEDS_WORK', type: 'review', sha: 'abc1234' },
288
+ });
289
+ const plan = buildPreflightPlan([selected], 'crazy', 'pull_request');
290
+ expect(plan[0].transition).toBe('NEEDS_FIX -> fix');
291
+ expect(plan[0].details).toContain('delivery pull_request');
292
+ expect(plan[0].details).toContain('recheck deferred');
293
+ expect(plan[0].chainRecheck).toBe(false);
203
294
  });
204
295
  it('continues executing later PRs when one PR throws', async () => {
205
296
  const first = pr({ number: 1, nextAction: 'review' });
206
297
  const second = pr({ number: 2, nextAction: 'review' });
207
- const third = pr({ number: 3, nextAction: 'merge' });
208
298
  const dispatched = [];
209
- const results = await executeKickassPlan(buildPreflightPlan([first, second, third]), {
299
+ const results = await executeKickassPlan(buildPreflightPlan([first, second]), {
210
300
  getCurrentHeadSha: async (item) => {
211
301
  if (item.pr.number === 2)
212
302
  throw new Error('api unavailable');
213
303
  return item.pr.headSha;
214
304
  },
215
- dispatchRun: async (item) => {
216
- dispatched.push(item.pr.number);
217
- },
218
- dispatchMerge: async (item) => {
219
- dispatched.push(item.pr.number);
220
- },
305
+ dispatchRun: async (item) => { dispatched.push(item.pr.number); },
221
306
  });
222
- expect(dispatched).toEqual([1, 3]);
307
+ expect(dispatched).toEqual([1]);
223
308
  expect(results.map(result => [result.pr.number, result.status, result.reason])).toEqual([
224
309
  [1, 'executed', undefined],
225
310
  [2, 'failed', 'error'],
226
- [3, 'executed', undefined],
227
311
  ]);
228
312
  });
313
+ it('runs all PRs concurrently when concurrency > 1', async () => {
314
+ const prs = [1, 2, 3].map(n => pr({ number: n, nextAction: 'review' }));
315
+ const plan = buildPreflightPlan(prs);
316
+ const startTimes = [];
317
+ const dispatched = [];
318
+ await executeKickassPlan(plan, {
319
+ getCurrentHeadSha: async (item) => item.pr.headSha,
320
+ dispatchRun: async (item) => {
321
+ startTimes.push(Date.now());
322
+ await new Promise(r => setTimeout(r, 20));
323
+ dispatched.push(item.pr.number);
324
+ },
325
+ }, 3);
326
+ // All 3 started within a short window (concurrent, not sequential)
327
+ expect(startTimes[2] - startTimes[0]).toBeLessThan(15);
328
+ expect(dispatched.sort()).toEqual([1, 2, 3]);
329
+ });
330
+ it('respects concurrency cap — runs at most n PRs at a time', async () => {
331
+ const prs = [1, 2, 3, 4].map(n => pr({ number: n, nextAction: 'review' }));
332
+ const plan = buildPreflightPlan(prs);
333
+ let active = 0;
334
+ let maxActive = 0;
335
+ await executeKickassPlan(plan, {
336
+ getCurrentHeadSha: async (item) => item.pr.headSha,
337
+ dispatchRun: async () => {
338
+ active++;
339
+ maxActive = Math.max(maxActive, active);
340
+ await new Promise(r => setTimeout(r, 20));
341
+ active--;
342
+ },
343
+ }, 2);
344
+ expect(maxActive).toBeLessThanOrEqual(2);
345
+ });
229
346
  it('summarizes execution outcomes', () => {
230
347
  expect(summarizeExecutionResults([
231
348
  { pr: pr({ number: 1 }), status: 'executed' },
@@ -1 +1 @@
1
- {"version":3,"file":"kickass.test.js","sourceRoot":"","sources":["../../src/__tests__/kickass.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kickass.test.js","sourceRoot":"","sources":["../../src/__tests__/kickass.test.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ function pr(number) {
18
18
  lastActiveAt: '2026-05-29T00:00:00.000Z',
19
19
  staleAfterMs: 60_000,
20
20
  ageMs: 120_000,
21
- verdict: null,
21
+ verdict: 'UNREVIEWED',
22
22
  latestAnnotation: null,
23
23
  };
24
24
  }
@@ -41,7 +41,7 @@ describe('parseSelection', () => {
41
41
  describe('picker grouping', () => {
42
42
  it('orders actionable PRs by next action group', () => {
43
43
  const ordered = sortPRsForPicker([
44
- { ...pr(4), nextAction: 'merge', reviewState: 'APPROVE' },
44
+ { ...pr(4), nextAction: 'merge', reviewState: 'APPROVED' },
45
45
  { ...pr(2), nextAction: 'fix', reviewState: 'NEEDS_FIX' },
46
46
  { ...pr(3), nextAction: 'recheck', reviewState: 'NEEDS_RECHECK' },
47
47
  { ...pr(1), nextAction: 'review', reviewState: 'NEEDS_REVIEW' },
@@ -1 +1 @@
1
- {"version":3,"file":"pr-picker.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-picker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-picker.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-picker.test.ts"],"names":[],"mappings":"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"}