next-issue 2.15.0 → 2.17.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 +25 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,28 @@ the [pi](https://github.com/earendil-works/pi) SDK. Run it inside a git reposito
|
|
|
7
7
|
npx -y next-issue@latest
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
The harness claims the oldest open issue with the `status:todo` label and gives it its own git worktree and branch. An implementer agent does the work, and the harness commits, pushes and opens a draft pull request. It then waits for the checks. A fixer agent repairs a red build, and a reviewer agent judges the diff. The fixer deals with any open finding, and the checks and review run again. With no open finding left, the pull request is marked ready and the issue gets `status:done`. When a budget runs out or the work cannot go on, the issue gets `status:needs-human` and goes to a person. Then the harness takes the next issue.
|
|
13
|
+
|
|
14
|
+
```mermaid
|
|
15
|
+
flowchart TD
|
|
16
|
+
claim[Claim the oldest status:todo issue] --> worktree[Add a worktree and branch]
|
|
17
|
+
worktree --> implement[Implementer does the work, harness commits and pushes]
|
|
18
|
+
implement --> pr[Open a draft pull request]
|
|
19
|
+
pr --> checks{Checks pass?}
|
|
20
|
+
checks -- no --> fixCi[Fixer repairs the build]
|
|
21
|
+
fixCi --> checks
|
|
22
|
+
checks -- yes --> review{Reviewer finds an open finding?}
|
|
23
|
+
review -- yes --> fixReview[Fixer deals with the findings]
|
|
24
|
+
fixReview --> checks
|
|
25
|
+
review -- no --> done[Mark ready, set status:done]
|
|
26
|
+
fixCi -. budget runs out .-> human[Hand over to a person: status:needs-human]
|
|
27
|
+
fixReview -. budget runs out .-> human
|
|
28
|
+
done --> claim
|
|
29
|
+
human --> claim
|
|
30
|
+
```
|
|
31
|
+
|
|
10
32
|
## What it does
|
|
11
33
|
|
|
12
34
|
Before each issue, fetch the open issues again and take the oldest one not yet
|
|
@@ -226,6 +248,9 @@ Thus a person who can write an issue, or a writer who can comment, can try to
|
|
|
226
248
|
give an instruction to the agent. Use the harness only on a repository where you
|
|
227
249
|
trust the issue authors, or run it in a container.
|
|
228
250
|
|
|
251
|
+
[ADR 0001](https://github.com/ravshansbox/next-issue/blob/main/docs/adr/0001-reviewer-isolation.md) records why the reviewer
|
|
252
|
+
keeps a full shell, and which other options were considered.
|
|
253
|
+
|
|
229
254
|
## Observability
|
|
230
255
|
|
|
231
256
|
Every run has an id, `<timestamp>`, and writes these under `.next-issue/runs/`:
|