Skip to content

Commit 746fba7

Browse files
committed
chore(release): prepare AgentPatchCheck public release
1 parent 43ccb5b commit 746fba7

6 files changed

Lines changed: 243 additions & 77 deletions

File tree

‎.gitignore‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,29 @@ playwright-report
1010
.env.*
1111
!.env.example
1212
.agentpatchcheck/local/
13+
14+
# AgentPatchCheck machine-local runtime and benchmark state
15+
/.agentpatchcheck/evidence/
16+
/.agentpatchcheck/runtime/
17+
/.agentpatchcheck/worktrees/
18+
/.agentpatchcheck/formal-*/
19+
/.agentpatchcheck/swebench/results/
20+
/.agentpatchcheck/swebench/repositories/
21+
/.agentpatchcheck/swebench/evaluator-venv/
22+
/.agentpatchcheck/swebench/apc-baseline/
23+
/.agentpatchcheck/swebench/apc-candidate/
24+
/.agentpatchcheck/swebench/formal-validation/
25+
/.agentpatchcheck/swebench/mini-swe-agent/
26+
/.agentpatchcheck/swebench/preserved-pre-v0.2-baseline/
27+
/.agentpatchcheck/swebench/verification-bridge-validation/
28+
/.agentpatchcheck/swebench/datasets/*.full.jsonl
29+
/.agentpatchcheck/swebench/*-live-instance.jsonl
30+
/.agentpatchcheck/b2-c*/
31+
/.agentpatchcheck/batch-1/b1-t*-repository/
32+
/.agentpatchcheck/continuation-gate-candidate-*/
33+
/.sympy-gate-base/
34+
/.sympy-gate-fix/
35+
.pytest_cache/
1336
web-ui/.env
1437
web-ui/.env.*
1538
!web-ui/.env.example

‎DEVELOPMENT.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Requirements
44

5-
- Node.js 20+
5+
- Node.js 22+
66
- npm 10+
77

88
## Install

‎README.md‎

Lines changed: 188 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,201 @@
1-
## npx kanban (Research Preview)
2-
3-
<p align="center">
4-
<img src="https://github.com/user-attachments/assets/2aa3dcc7-94e3-4076-bcfe-6d0272007cfe" width="100%" />
5-
</p>
6-
7-
A replacement for your IDE better suited for running many agents in parallel and reviewing diffs. Each task card gets its own terminal and worktree, all handled for you automatically. Enable auto-commit and link cards together to create dependency chains that complete large amounts of work autonomously.
8-
9-
> [!WARNING]
10-
> Kanban is a research preview and uses experimental features of CLI agents like bypassing permissions and runtime hooks for more autonomy. We'd love your feedback in #kanban on our [discord](https://discord.gg/cline).
11-
12-
<div align="left">
13-
<table>
14-
<tbody>
15-
<td align="center">
16-
<a href="https://www.npmjs.com/package/kanban" target="_blank">NPM</a>
17-
</td>
18-
<td align="center">
19-
<a href="https://github.com/cline/kanban" target="_blank">GitHub</a>
20-
</td>
21-
<td align="center">
22-
<a href="https://github.com/cline/kanban/issues" target="_blank">Issues</a>
23-
</td>
24-
<td align="center">
25-
<a href="https://github.com/cline/kanban/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop" target="_blank">Feature Requests</a>
26-
</td>
27-
<td align="center">
28-
<a href="https://discord.gg/cline" target="_blank">Discord</a>
29-
</td>
30-
<td align="center">
31-
<a href="https://x.com/cline" target="_blank">@cline</a>
32-
</td>
33-
</tbody>
34-
</table>
35-
</div>
36-
37-
### 1. Open kanban
38-
```bash
39-
# Run directly (no install required)
40-
npx kanban
1+
# AgentPatchCheck
2+
3+
AgentPatchCheck (APC) is an evidence-oriented runtime and evaluation toolkit
4+
for bounded software-repair agents. It separates agent execution, public
5+
verification, hidden evaluation, risk review, patch application, and official
6+
benchmark grading so that a completed agent turn is not mistaken for a correct
7+
repair.
8+
9+
The project is a research preview. It is intended for controlled local and CI
10+
experiments, not unattended modification of production repositories.
11+
12+
## Overview
13+
14+
APC runs a repair task in an isolated Git worktree, exposes a bounded tool
15+
surface to the selected agent, records structured execution evidence, verifies
16+
the resulting patch, and keeps application to the target repository behind a
17+
separate approval step. Benchmark results preserve execution validity and
18+
grading validity independently from termination status.
19+
20+
## Key Capabilities
21+
22+
- Isolated, per-run Git worktrees and deterministic run identities.
23+
- Bounded agent iterations, tool calls, output, deadlines, and cancellation.
24+
- Harness-native, Codex, Cline, and script adapter boundaries already present
25+
in the repository.
26+
- Structured trajectories, evidence bundles, assessment reports, and risk
27+
policy checks with credential and sensitive-text redaction.
28+
- Public verification, hidden Oracle evaluation, patch capture, guarded apply,
29+
and evidence retention workflows.
30+
- Sequential benchmark orchestration, report comparison, SWE-bench prediction
31+
generation, and official evaluator integration.
32+
33+
## Architecture
34+
35+
The ordinary headless repair path is:
36+
37+
```text
38+
TaskSpec
39+
-> policy validation
40+
-> isolated Git worktree
41+
-> selected agent adapter and bounded runtime
42+
-> public verification
43+
-> hidden Oracle / assessment
44+
-> EvidenceBundle and patch
45+
-> explicit approval and guarded apply
46+
```
47+
48+
The frozen SWE-bench path is:
4149

42-
# Or install globally
43-
npm i -g kanban
44-
kanban
50+
```text
51+
tracked manifest + operator environment
52+
-> src/agentpatchcheck/swebench-cli.ts
53+
-> APC Harness-native runtime and tooling
54+
-> prediction JSONL
55+
-> external official SWE-bench evaluator
56+
-> resolved / unresolved grading evidence
4557
```
46-
Run this from the root of any git repo. Kanban will detect your installed CLI agent and launch a local running webserver in your browser. No account or setup required, it works right out of the box.
4758

48-
### 2. Create tasks
49-
Create a task card manually, or open the sidebar chat and ask your agent to break work down into tasks for you. Kanban injects board-management instructions into that session so you can simply ask it to add tasks, link tasks, or start work on your board.
59+
APC does not introduce a second evaluator or alternate runtime for published
60+
benchmark results.
5061

51-
### 3. Link and automate
52-
<kbd>⌘</kbd> + click a card to link it to another task. When a card is completed and moved to trash, linked tasks auto-start. Combine with auto-commit for fully autonomous dependency chains: one task completes → commits → kicks off the next → repeat. It’s a pretty magical experience asking your agent to decompose a big task into subtasks that auto-commit - he’ll cleverly do it in a way that parallelizes for maximum efficiency and links tasks together for end-to-end autonomy.
62+
## What APC Implements
5363

54-
### 4. Start tasks
55-
Hit the play button on a card. Kanban creates an ephemeral worktree just for that task so agents work in parallel without merge conflicts. Under the hood, it also symlinks gitignored files like `node_modules` so you don't have to worry about slow `npm install`s for each copy of your project.
64+
APC implements the bounded repair lifecycle, tool brokerage, execution and
65+
cancellation controls, evidence model, verification and assessment gates,
66+
risk-aware apply workflow, benchmark runner, SWE-bench adapter, dataset
67+
preparation boundary, prediction generation, and evaluator bridge contained
68+
under `src/agentpatchcheck/`, `scripts/`, and their tests.
5669

57-
> [!NOTE]
58-
> [Symlinks (symbolic links)](https://en.wikipedia.org/wiki/Symbolic_link) are special "shortcuts" pointing to another file or directory, allowing access to the target from a new location without duplicating data. They work great in this case since you typically don't modify gitignored files in day-to-day work, but for when you do then don't use Kanban.
70+
## What APC Reuses
5971

60-
As agents work, Kanban uses hooks to display the latest message or tool call on each card, so you can monitor hundreds of agents at a glance without opening each one.
72+
- Cline Kanban's Apache-2.0 CLI, desktop, web UI, worktree, and task-management
73+
foundations. The original copyright and license are retained.
74+
- Selected DeepSeek Harness Code Mode mechanisms adapted under the MIT License.
75+
Details and the required notice are in `THIRD_PARTY_NOTICES.md`.
76+
- Installed provider SDKs and CLIs through explicit adapter boundaries.
77+
- The external official SWE-bench evaluator and upstream benchmark datasets.
78+
APC does not claim authorship of the evaluator and does not redistribute the
79+
complete benchmark datasets.
6180

62-
### 5. Review changes
63-
Click a card to view the agent's TUI and a diff of all the changes in that worktree. Kanban includes its own checkpointing system so you can also see a diff from the last messages you've sent. Click on lines to leave comments and send them back to the agent.
81+
## Quick Start
6482

65-
To easily test and debug your app, create a Script Shortcut in settings. Use a command like `npm run dev` so that all you have to do is hit a play button in the navbar instead of remembering commands or asking your agent to do it.
83+
### Prerequisites
6684

67-
### 6. Ship it
68-
When the work looks good, hit **Commit** or **Open PR**. Kanban sends a dynamic prompt to the agent to convert the worktree into a commit on your base ref or a new PR branch, and work through any merge conflicts intelligently. Or skip review by enabling auto-commit / auto-PR and the agent ships as soon as it's done. Move the card to trash to clean up the worktree (you can always resume later since Kanban tracks the resume ID).
85+
- Node.js 22 or newer.
86+
- npm 10 or newer.
87+
- Git.
88+
- An installed agent/provider required by the TaskSpec you choose to run.
6989

70-
### 7. Keep track with git interface
71-
Click the branch name in the navbar to open a full git interface to browse commit history, switch branches, fetch, pull, push, and visualize your git all without leaving Kanban. Keep track of everything your agents are doing across branches as work is completed.
90+
Install the repository dependencies and build the existing CLIs:
7291

73-
---
92+
```bash
93+
npm run install:all
94+
npm run build
95+
node dist/agentpatchcheck.js --help
96+
```
97+
98+
Run the smallest headless flow with a TaskSpec whose paths refer to your own
99+
checkout and target repository:
100+
101+
```bash
102+
node dist/agentpatchcheck.js run --task-spec ./path/to/task-spec.json
103+
```
74104

75-
[Apache 2.0 © 2026 Cline Bot Inc.](./LICENSE)
105+
See `docs/agentpatchcheck-headless-core.md` for the TaskSpec, evidence,
106+
assessment, approval, cleanup-preview, and guarded-apply contracts.
107+
108+
### Provider environment variables
109+
110+
Credentials are resolved at execution time from fixed logical references. Do
111+
not store credential values in TaskSpecs, manifests, evidence, or source files.
112+
113+
| Logical credential reference | Environment variable |
114+
| --- | --- |
115+
| `openai-primary` | `OPENAI_API_KEY` |
116+
| `openai-secondary` | `OPENAI_API_KEY_SECONDARY` |
117+
| `deepseek-primary` | `DEEPSEEK_API_KEY` |
118+
| `gemini-primary` | `GEMINI_API_KEY` |
119+
| `provider-a-primary` | `AGENTPATCHCHECK_KEY_PROVIDER_A` |
120+
| `provider-b-primary` | `AGENTPATCHCHECK_KEY_PROVIDER_B` |
121+
122+
Only configure the credential required by the selected TaskSpec or frozen
123+
provider profile.
124+
125+
## Benchmark
126+
127+
HAL SWE-bench Verified Mini fixed-50:
128+
129+
- 35/50 official resolved (70.0%).
130+
- 50/50 valid executions.
131+
- 0 Harness-invalid.
132+
- 0 grading-invalid.
133+
134+
This is the end-to-end result of `deepseek-v4-flash + APC Runtime/tooling +
135+
frozen execution policy`, as judged by the official SWE-bench evaluator. It is
136+
not a full SWE-bench Verified score, a DeepSeek model-only score, or evidence of
137+
an independently quantified APC uplift.
138+
139+
### Reproducing the frozen SWE-bench path
140+
141+
The repository tracks portable manifests, task identities, source revisions,
142+
and expected SHA-256 values. It intentionally does not track complete benchmark
143+
JSONL data, evaluator source, evaluator environments, repositories, images,
144+
predictions, logs, or scored artifacts.
145+
146+
1. Obtain the HAL fixed-50 source data from the upstream
147+
`MariusHobbhahn/swe-bench-verified-mini` test split at revision
148+
`b316c349947c29963fce3f4a65967c9807a4b673`. Materialize the exact 50-row
149+
JSONL selected by the tracked manifest at
150+
`.agentpatchcheck/swebench/datasets/HAL-Verified-Mini-v1.full.jsonl` and
151+
verify its SHA-256 against the manifest before running.
152+
2. Clone or otherwise prepare the official SWE-bench evaluator outside this
153+
repository and check out frozen revision
154+
`7d92bde324b9b96d41fb3e5e1023c8476f17b0bf`. Use a Python environment that
155+
can import its Docker dependency and provide the evaluator's required Docker
156+
images separately.
157+
3. In the same shell, configure the existing bootstrap variables using paths
158+
on your machine:
159+
160+
```powershell
161+
$env:DEEPSEEK_API_KEY = "<secret>"
162+
$env:AGENTPATCHCHECK_SWEBENCH_MANIFEST = ".agentpatchcheck/swebench/datasets/HAL-Verified-Mini-v1.manifest.json"
163+
$env:AGENTPATCHCHECK_SWEBENCH_EVALUATOR_ROOT = "<path-to-swe-bench-checkout>"
164+
$env:AGENTPATCHCHECK_SWEBENCH_EVALUATOR_PYTHON = "<path-to-evaluator-python>"
165+
```
166+
167+
4. From the AgentPatchCheck repository root, invoke the existing source
168+
entrypoint for exactly one instance and a fresh run identity:
169+
170+
```powershell
171+
node_modules/.bin/tsx src/agentpatchcheck/swebench-cli.ts `
172+
--instance <instance-id-from-the-manifest> `
173+
--run-id <fresh-run-id>
174+
```
175+
176+
The manifest owns the dataset, evaluator revision, model, timeout, and frozen
177+
classification. Operator arguments cannot override those fields. Formal runs
178+
must follow the predeclared ordering and retry policy; the command above is not
179+
an instruction to rerun the published fixed-50 result.
180+
181+
## Limitations
182+
183+
- APC does not prove a patch correct merely because an agent finishes or emits
184+
a diff; correctness depends on verification and, for SWE-bench, official
185+
grading.
186+
- Provider access, evaluator setup, Docker images, upstream repositories, and
187+
benchmark data are external prerequisites.
188+
- The fixed-50 result measures one frozen end-to-end configuration and does not
189+
establish general performance, causal uplift, or state of the art.
190+
- The desktop and web UI foundations remain inherited from Cline Kanban while
191+
APC's release-facing workflow is centered on the headless repair runtime.
192+
193+
## Project Status
194+
195+
AgentPatchCheck is an open-source research preview. The current release target
196+
focuses on auditable, bounded software-repair execution and truthful benchmark
197+
reporting. Interfaces and operational requirements may change before a stable
198+
release.
199+
200+
AgentPatchCheck is distributed under the Apache License 2.0. See `LICENSE` and
201+
`THIRD_PARTY_NOTICES.md` for retained upstream copyright and attribution.

‎THIRD_PARTY_NOTICES.md‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Third-party notices
22

3+
## Cline Kanban
4+
5+
AgentPatchCheck is derived from the Cline Kanban project and retains its CLI,
6+
desktop, web UI, worktree, and task-management foundations where those
7+
components are still used.
8+
9+
Copyright 2026 Cline Bot Inc.
10+
11+
Cline Kanban is licensed under the Apache License, Version 2.0. The license and
12+
copyright notice are retained in the repository's `LICENSE` file.
13+
314
## DeepSeek Harness
415

516
The programmatic tool-composition implementation in
@@ -42,3 +53,15 @@ DeepSeek Harness is licensed under the MIT License:
4253
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4354
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4455
> SOFTWARE.
56+
57+
## External benchmark data and evaluator
58+
59+
The complete HAL SWE-bench Verified Mini and APC Pilot datasets are not
60+
redistributed in this repository. The tracked manifests record upstream
61+
dataset identities, revisions, expected hashes, and task selections; operators
62+
must obtain the corresponding data from its upstream provider and comply with
63+
the provider's and source repositories' license terms.
64+
65+
Official grading is performed by an external SWE-bench evaluator checkout. It
66+
is not authored or vendored by AgentPatchCheck. The frozen evaluation contract
67+
uses evaluator revision `7d92bde324b9b96d41fb3e5e1023c8476f17b0bf`.

‎package-lock.json‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
11
{
2-
"name": "kanban",
2+
"name": "agentpatchcheck",
33
"version": "0.1.70",
4-
"description": "A kanban foundation for coding agents",
4+
"description": "Evidence-oriented runtime and evaluation tooling for bounded software repair agents",
55
"publishConfig": {
66
"access": "public",
77
"provenance": true
88
},
99
"keywords": [
10-
"kanban",
10+
"software-repair",
11+
"evaluation",
12+
"swe-bench",
1113
"agents",
1214
"cli",
1315
"task-management",
1416
"typescript"
1517
],
16-
"homepage": "https://github.com/cline/kanban",
17-
"bugs": {
18-
"url": "https://github.com/cline/kanban/issues"
19-
},
20-
"author": "Cline",
21-
"repository": {
22-
"type": "git",
23-
"url": "https://github.com/cline/kanban"
24-
},
18+
"author": "AgentPatchCheck contributors",
2519
"type": "module",
2620
"bin": {
2721
"kanban": "dist/cli.js",

0 commit comments

Comments
 (0)