@navels/neal 0.3.1 → 0.3.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 +15 -3
- package/docs/assets/neal-core-flow-dark.svg +2 -0
- package/docs/assets/neal-core-flow-light.svg +2 -0
- package/docs/automation.md +3 -1
- package/docs/compat.md +3 -3
- package/docs/compatible-models.md +3 -4
- package/package.json +3 -3
- package/docs/assets/neal-execution-flow.png +0 -0
package/README.md
CHANGED
|
@@ -9,7 +9,11 @@ stable result.
|
|
|
9
9
|
|
|
10
10
|
> **A plan-driven, multi-agent coding loop.** Separate **planner**, **coder**, and **reviewer** roles, each on the provider and model you choose, work together to implement your plan.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
<picture>
|
|
13
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/neal-core-flow-dark.svg">
|
|
14
|
+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/neal-core-flow-light.svg">
|
|
15
|
+
<img alt="neal execution flow" src="docs/assets/neal-core-flow-light.svg">
|
|
16
|
+
</picture>
|
|
13
17
|
|
|
14
18
|
neal is a local planner/coder/reviewer loop for your repo. You write a plan, and neal's planner/reviewer loop turns it into a human-reviewable execution plan with an execution shape, manageable scopes, and high-level implementation detail grounded in the current repository. neal then runs each scope with your configured coder and reviewer roles. After every scope is accepted, a final review pass checks the total set of changes against the entire plan. Run artifacts are recorded under `.neal/` so interrupted work can resume.
|
|
15
19
|
|
|
@@ -18,7 +22,15 @@ Two choices explain the design:
|
|
|
18
22
|
- **The coder and reviewer run on different vendors.** The review is genuinely adversarial: a second model with its own blind spots checks the first, instead of one model grading its own work.
|
|
19
23
|
- **Each scope starts the coder from a fresh context.** A long plan doesn't drift the way a single agent does as its context fills up.
|
|
20
24
|
|
|
21
|
-
###
|
|
25
|
+
### Support MusiCares
|
|
26
|
+
|
|
27
|
+
If neal has been useful to you, please consider donating to MusiCares. It's a
|
|
28
|
+
non-profit giving musicians a place to turn to in times of financial, personal,
|
|
29
|
+
or medical crisis.
|
|
30
|
+
|
|
31
|
+
[](https://www.musicares.org/about/?form=FUNKYMLRVWU&fundraiser=NTYJWDJE&member=SHEDDUJS)
|
|
32
|
+
|
|
33
|
+
### What makes neal interesting
|
|
22
34
|
|
|
23
35
|
- **Roles, not one monolithic agent.** Planner, coder, and reviewer are independent, separately configurable roles. Mix vendors and models per role (e.g. Codex codes, Claude reviews).
|
|
24
36
|
- **The reviewer is read-only.** Declared at provider registration and enforced mechanically in each adapter (OS sandbox for Codex, SDK tool allowlist for Claude, a neal-owned jailed toolset for OpenRouter models). See [SECURITY.md](SECURITY.md) and [docs/providers.md](docs/providers.md).
|
|
@@ -274,7 +286,7 @@ neal status --json --all
|
|
|
274
286
|
|
|
275
287
|
## Automation contract
|
|
276
288
|
|
|
277
|
-
neal keeps a stable machine-facing contract for driving it from scripts, CI, and benchmark harnesses: writer exit codes, the `neal status --json` classification schema, patch-submission eligibility, and harness timeout and trace-publishing guidance. See [docs/automation.md](docs/automation.md).
|
|
289
|
+
neal keeps a stable machine-facing contract for driving it from scripts, CI, and benchmark harnesses: writer exit codes, the `neal status --json` classification schema, patch-submission eligibility, and harness timeout and trace-publishing guidance. See [docs/automation.md](docs/automation.md). [neal-swebench](https://github.com/navels/neal-swebench) drives neal through this contract to benchmark role pairings on SWE-bench Pro.
|
|
278
290
|
|
|
279
291
|
## Commands
|
|
280
292
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1742.6871929611189 581.5018875438792" width="1742.6871929611189" height="581.5018875438792"><!-- svg-source:excalidraw --><metadata/><defs><style class="style-fonts">
|
|
2
|
+
@font-face { font-family: Nunito; src: url(data:font/woff2;base64,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); }</style></defs><rect x="0" y="0" width="1742.6871929611189" height="581.5018875438792" fill="#161b22" rx="12" ry="12"/><g stroke-linecap="round" transform="translate(262.94598202361897 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#1a4d2e"/><path d="M0 0 C43.09 0, 86.19 0, 170 0 M0 0 C34.13 0, 68.26 0, 170 0 M170 0 C170 25.31, 170 50.63, 170 80 M170 0 C170 20.8, 170 41.61, 170 80 M170 80 C125.5 80, 81.01 80, 0 80 M170 80 C115.24 80, 60.48 80, 0 80 M0 80 C0 58.78, 0 37.55, 0 0 M0 80 C0 53.09, 0 26.18, 0 0" stroke="#2f9e44" stroke-width="2" fill="none"/></g><g transform="translate(296.70603756561115 328.3905594188792) rotate(0 51.23994445800781 13.5)"><text x="51.23994445800781" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Refine plan</text></g><g stroke-linecap="round" transform="translate(512.945982023619 301.6639969188792) rotate(0 84.99999999999994 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#15426b"/><path d="M0 0 C44.15 0, 88.31 0, 170 0 M0 0 C53.01 0, 106.02 0, 170 0 M170 0 C170 21.32, 170 42.64, 170 80 M170 0 C170 17.07, 170 34.14, 170 80 M170 80 C121.13 80, 72.26 80, 0 80 M170 80 C117.79 80, 65.57 80, 0 80 M0 80 C0 61.7, 0 43.41, 0 0 M0 80 C0 55.64, 0 31.28, 0 0" stroke="#58a6ff" stroke-width="2" fill="none"/></g><g transform="translate(544.5860424484237 314.6639969188792) rotate(0 53.359939575195256 27)"><text x="53.35993957519531" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Fresh agent</text><text x="53.35993957519531" y="47.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> context</text></g><g stroke-linecap="round" transform="translate(762.9459820236189 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#15426b"/><path d="M0 0 C35.27 0, 70.54 0, 170 0 M0 0 C62.07 0, 124.14 0, 170 0 M170 0 C170 28.28, 170 56.57, 170 80 M170 0 C170 18.91, 170 37.82, 170 80 M170 80 C132.43 80, 94.86 80, 0 80 M170 80 C113.18 80, 56.36 80, 0 80 M0 80 C0 57.57, 0 35.14, 0 0 M0 80 C0 52.18, 0 24.36, 0 0" stroke="#58a6ff" stroke-width="2" fill="none"/></g><g transform="translate(783.5960522140485 328.3905594188792) rotate(0 64.34992980957031 13.5)"><text x="64.34992980957031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Execute scope</text></g><g stroke-linecap="round" transform="translate(1012.9459820236189 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#15426b"/><path d="M0 0 C53.64 0, 107.27 0, 170 0 M0 0 C44.06 0, 88.12 0, 170 0 M170 0 C170 31.75, 170 63.51, 170 80 M170 0 C170 31.54, 170 63.07, 170 80 M170 80 C123.64 80, 77.28 80, 0 80 M170 80 C102.9 80, 35.81 80, 0 80 M0 80 C0 55.01, 0 30.02, 0 0 M0 80 C0 60.57, 0 41.13, 0 0" stroke="#58a6ff" stroke-width="2" fill="none"/></g><g transform="translate(1062.7760067428571 328.3905594188792) rotate(0 35.16997528076172 13.5)"><text x="35.16997528076172" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Commit</text></g><g stroke-linecap="round" transform="translate(1262.687192961119 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#15426b"/><path d="M0 0 C50.17 0, 100.34 0, 170 0 M0 0 C58.72 0, 117.44 0, 170 0 M170 0 C170 23.41, 170 46.83, 170 80 M170 0 C170 21.65, 170 43.3, 170 80 M170 80 C133.58 80, 97.17 80, 0 80 M170 80 C108.13 80, 46.27 80, 0 80 M0 80 C0 51, 0 22, 0 0 M0 80 C0 54.68, 0 29.37, 0 0" stroke="#58a6ff" stroke-width="2" fill="none"/></g><g transform="translate(1289.757261320494 328.3905594188792) rotate(0 57.929931640625 13.5)"><text x="57.929931640625" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Final Review</text></g><g stroke-linecap="round" transform="translate(1512.687192961119 301.8905594188792) rotate(0 84.99999999999989 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#63391d"/><path d="M0 0 C66.42 0, 132.83 0, 170 0 M0 0 C57.35 0, 114.7 0, 170 0 M170 0 C170 28.36, 170 56.72, 170 80 M170 0 C170 30.17, 170 60.35, 170 80 M170 80 C132.77 80, 95.54 80, 0 80 M170 80 C117.17 80, 64.33 80, 0 80 M0 80 C0 51.63, 0 23.25, 0 0 M0 80 C0 59.69, 0 39.37, 0 0" stroke="#e8590c" stroke-width="2" fill="none"/></g><g transform="translate(1564.107229277037 328.3905594188792) rotate(0 33.57996368408192 13.5)"><text x="33.57996368408203" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Squash</text></g><g stroke-linecap="round"><g transform="translate(441.94598202361897 341.8905594188792) rotate(0 29.5 0)"><path d="M0 0 C18.9 0, 37.79 0, 59 0 M0 0 C18.89 0, 37.78 0, 59 0" stroke="#8b949e" stroke-width="2" fill="none"/></g><g transform="translate(441.94598202361897 341.8905594188792) rotate(0 29.5 0)"><path d="M59 0 L45.41 6.34 L45.41 -6.34 L59 0" stroke="none" stroke-width="0" fill="#8b949e" fill-rule="evenodd"/><path d="M59 0 C54.65 2.03, 50.29 4.06, 45.41 6.34 M59 0 C54.65 2.03, 50.29 4.06, 45.41 6.34 M45.41 6.34 C45.41 1.85, 45.41 -2.64, 45.41 -6.34 M45.41 6.34 C45.41 3.01, 45.41 -0.32, 45.41 -6.34 M45.41 -6.34 C48.17 -5.05, 50.92 -3.77, 59 0 M45.41 -6.34 C49.58 -4.39, 53.75 -2.45, 59 0 M59 0 C59 0, 59 0, 59 0 M59 0 C59 0, 59 0, 59 0" stroke="#8b949e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(691.9459820236189 341.7657960210282) rotate(0 29.5 0.03502764805136849)"><path d="M0 0 C18.67 0.02, 37.34 0.04, 59 0.07 M0 0 C15.34 0.02, 30.69 0.04, 59 0.07" stroke="#8b949e" stroke-width="2" fill="none"/></g><g transform="translate(691.9459820236189 341.7657960210282) rotate(0 29.5 0.03502764805136849)"><path d="M59 0.07 L45.4 6.39 L45.41 -6.29 L59 0.07" stroke="none" stroke-width="0" fill="#8b949e" fill-rule="evenodd"/><path d="M59 0.07 C54.7 2.07, 50.39 4.07, 45.4 6.39 M59 0.07 C55.46 1.71, 51.93 3.36, 45.4 6.39 M45.4 6.39 C45.4 3.07, 45.41 -0.24, 45.41 -6.29 M45.4 6.39 C45.4 2.31, 45.41 -1.78, 45.41 -6.29 M45.41 -6.29 C49.02 -4.6, 52.62 -2.91, 59 0.07 M45.41 -6.29 C49.98 -4.15, 54.55 -2.01, 59 0.07 M59 0.07 C59 0.07, 59 0.07, 59 0.07 M59 0.07 C59 0.07, 59 0.07, 59 0.07" stroke="#8b949e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(941.9459820236189 341.8905594188792) rotate(0 29.5 0)"><path d="M0 0 C15.72 0, 31.45 0, 59 0 M0 0 C12.59 0, 25.18 0, 59 0" stroke="#8b949e" stroke-width="2" fill="none"/></g><g transform="translate(941.9459820236189 341.8905594188792) rotate(0 29.5 0)"><path d="M59 0 L45.41 6.34 L45.41 -6.34 L59 0" stroke="none" stroke-width="0" fill="#8b949e" fill-rule="evenodd"/><path d="M59 0 C55.38 1.69, 51.75 3.38, 45.41 6.34 M59 0 C56.1 1.35, 53.2 2.71, 45.41 6.34 M45.41 6.34 C45.41 2.69, 45.41 -0.95, 45.41 -6.34 M45.41 6.34 C45.41 2.45, 45.41 -1.45, 45.41 -6.34 M45.41 -6.34 C48.51 -4.89, 51.62 -3.44, 59 0 M45.41 -6.34 C49.55 -4.41, 53.68 -2.48, 59 0 M59 0 C59 0, 59 0, 59 0 M59 0 C59 0, 59 0, 59 0" stroke="#8b949e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1192.1871929611189 341.8905594188792) rotate(0 29 0)"><path d="M0 0 C20.51 0, 41.01 0, 58 0 M0 0 C13.71 0, 27.42 0, 58 0" stroke="#8b949e" stroke-width="2" fill="none"/></g><g transform="translate(1192.1871929611189 341.8905594188792) rotate(0 29 0)"><path d="M58 0 L44.41 6.34 L44.41 -6.34 L58 0" stroke="none" stroke-width="0" fill="#8b949e" fill-rule="evenodd"/><path d="M58 0 C53.19 2.24, 48.39 4.48, 44.41 6.34 M58 0 C54.79 1.5, 51.57 3, 44.41 6.34 M44.41 6.34 C44.41 3.54, 44.41 0.74, 44.41 -6.34 M44.41 6.34 C44.41 2.1, 44.41 -2.14, 44.41 -6.34 M44.41 -6.34 C48.22 -4.56, 52.03 -2.78, 58 0 M44.41 -6.34 C49.13 -4.13, 53.86 -1.93, 58 0 M58 0 C58 0, 58 0, 58 0 M58 0 C58 0, 58 0, 58 0" stroke="#8b949e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1442.187192961119 341.8905594188792) rotate(0 29 0)"><path d="M0 0 C23.02 0, 46.04 0, 58 0 M0 0 C22.86 0, 45.73 0, 58 0" stroke="#8b949e" stroke-width="2" fill="none"/></g><g transform="translate(1442.187192961119 341.8905594188792) rotate(0 29 0)"><path d="M58 0 L44.41 6.34 L44.41 -6.34 L58 0" stroke="none" stroke-width="0" fill="#8b949e" fill-rule="evenodd"/><path d="M58 0 C52.6 2.52, 47.21 5.03, 44.41 6.34 M58 0 C52.64 2.5, 47.28 5, 44.41 6.34 M44.41 6.34 C44.41 2.88, 44.41 -0.58, 44.41 -6.34 M44.41 6.34 C44.41 1.34, 44.41 -3.67, 44.41 -6.34 M44.41 -6.34 C48.65 -4.36, 52.9 -2.38, 58 0 M44.41 -6.34 C47.71 -4.8, 51.01 -3.26, 58 0 M58 0 C58 0, 58 0, 58 0 M58 0 C58 0, 58 0, 58 0" stroke="#8b949e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1105.9713525935056 301.24160820093687) rotate(0 -257.13862305703515 -25.36790720352883)"><path d="M0 0 C0.16 -15.45, 0.82 -29.61, 0.46 -50.74 M0.46 -50.74 C-203.45 -49.33, -406.37 -49.36, -514.73 -50.74 M-514.73 -50.74 C-514.48 -35.22, -513.61 -21.1, -514.73 -4.58" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1105.9713525935056 301.24160820093687) rotate(0 -257.13862305703515 -25.36790720352883)"><path d="M-513.93 -6.29 L-519.84 -18.63 L-506.52 -18.98 L-514.46 -6.35" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M-514.73 -4.58 C-516.24 -9.61, -517.43 -13.62, -520.55 -18.4 M-520.55 -18.4 C-516.46 -18.16, -510.8 -18.02, -507.88 -17.92 M-507.88 -17.92 C-509.91 -12.89, -511.4 -8.95, -514.73 -4.58 M-514.73 -4.58 C-514.73 -4.58, -514.73 -4.58, -514.73 -4.58" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(764.0054128271904 439.53467214209365) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#4a2c59"/><path d="M0 0 C36.42 0, 72.83 0, 170 0 M0 0 C61.87 0, 123.73 0, 170 0 M170 0 C170 29, 170 58, 170 80 M170 0 C170 25.32, 170 50.63, 170 80 M170 80 C112.9 80, 55.8 80, 0 80 M170 80 C132.74 80, 95.48 80, 0 80 M0 80 C0 54.98, 0 29.96, 0 0 M0 80 C0 53.73, 0 27.46, 0 0" stroke="#c297ea" stroke-width="2" fill="none"/></g><g transform="translate(814.3154409033623 466.03467214209365) rotate(0 34.689971923828125 13.5)"><text x="34.689971923828125" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Consult</text></g><g stroke-linecap="round" transform="translate(1013.2731304611189 441.5018875438792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#4a2c59"/><path d="M0 0 C34.51 0, 69.02 0, 170 0 M0 0 C52.19 0, 104.37 0, 170 0 M170 0 C170 27.18, 170 54.36, 170 80 M170 0 C170 16.74, 170 33.49, 170 80 M170 80 C116.69 80, 63.38 80, 0 80 M170 80 C128.54 80, 87.08 80, 0 80 M0 80 C0 61.19, 0 42.38, 0 0 M0 80 C0 50.47, 0 20.94, 0 0" stroke="#c297ea" stroke-width="2" fill="none"/></g><g transform="translate(1065.1331615890485 468.0018875438792) rotate(0 33.13996887207031 13.5)"><text x="33.13996887207031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Review</text></g><g stroke-linecap="round" transform="translate(1263.102232023619 441.3544266063792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#4a2c59"/><path d="M0 0 C38.88 0, 77.76 0, 170 0 M0 0 C51.77 0, 103.54 0, 170 0 M170 0 C170 21.59, 170 43.18, 170 80 M170 0 C170 23.08, 170 46.17, 170 80 M170 80 C127.7 80, 85.4 80, 0 80 M170 80 C105.5 80, 41 80, 0 80 M0 80 C0 52.33, 0 24.66, 0 0 M0 80 C0 55.98, 0 31.96, 0 0" stroke="#c297ea" stroke-width="2" fill="none"/></g><g transform="translate(1314.9622631515488 467.8544266063792) rotate(0 33.13996887207031 13.5)"><text x="33.13996887207031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Review</text></g><g stroke-linecap="round"><g transform="translate(821.8011252527858 384.9074865022129) rotate(0 -10.062174479166742 24.93419828869048)"><path d="M0.34 0.02 C-2.97 4.08, -19.12 16.29, -19.82 24.55 C-20.53 32.8, -6.44 45.32, -3.88 49.55" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(821.8011252527858 384.9074865022129) rotate(0 -10.062174479166742 24.93419828869048)"><path d="M-4.68 50.51 L-17.29 43.89 L-7.77 34.52 L-4.53 49.85" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M-3.88 49.55 C-8.09 47.99, -11.99 45.86, -17.42 43.1 M-17.42 43.1 C-15.21 40.84, -12.54 38.6, -7.64 35.03 M-7.64 35.03 C-6.51 40.48, -5.54 45.01, -3.88 49.55 M-3.88 49.55 C-3.88 49.55, -3.88 49.55, -3.88 49.55" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(877.3578282503618 437.32861745459365) rotate(0 10.902312563711916 -25.476190476190595)"><path d="M0.66 0.57 C4.24 -3.94, 21.69 -18.5, 22.28 -27.05 C22.87 -35.61, 7.15 -46.68, 4.2 -50.76" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(877.3578282503618 437.32861745459365) rotate(0 10.902312563711916 -25.476190476190595)"><path d="M4.46 -49.17 L17.95 -46.71 L8.02 -36.18 L5.93 -50.19" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M4.2 -50.76 C9.99 -48.4, 13.51 -48.11, 18.21 -45.68 M18.21 -45.68 C15.58 -44.04, 13.06 -41.15, 9.32 -36.76 M9.32 -36.76 C6.83 -41.23, 4.58 -46.12, 4.2 -50.76 M4.2 -50.76 C4.2 -50.76, 4.2 -50.76, 4.2 -50.76" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1071.1701842067077 386.325152451304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M0.48 -0.68 C-3.11 3.3, -20.11 16.09, -20.89 24.48 C-21.67 32.87, -7.08 45.54, -4.21 49.64" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1071.1701842067077 386.325152451304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M-4.47 48.61 L-19.27 44.26 L-6.76 35.83 L-3.29 50.49" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M-4.21 49.64 C-9.97 46.62, -13.75 45.01, -17.97 43.67 M-17.97 43.67 C-15.07 40.54, -12.71 39.34, -8.49 35.26 M-8.49 35.26 C-8.31 40.55, -6.63 45.08, -4.21 49.64 M-4.21 49.64 C-4.21 49.64, -4.21 49.64, -4.21 49.64" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1126.6981789983745 439.0699441179705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M-0.77 0.2 C2.73 -4.23, 20.48 -18.48, 21.47 -27.25 C22.47 -36.01, 7.86 -48.19, 5.2 -52.36" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1126.6981789983745 439.0699441179705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M3.9 -51.78 L20.53 -45.74 L10.22 -37.19 L3.93 -50.98" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M5.2 -52.36 C10.03 -50.67, 13.72 -47.91, 18.81 -46.31 M18.81 -46.31 C17.3 -44.8, 15.72 -43.59, 9.3 -38.04 M9.3 -38.04 C6.94 -43.3, 7.32 -46.83, 5.2 -52.36 M5.2 -52.36 C5.2 -52.36, 5.2 -52.36, 5.2 -52.36" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1319.601173790041 385.524371201304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M-0.36 -0.55 C-3.55 3.28, -19.43 14.91, -19.93 23.19 C-20.43 31.48, -6.12 44.69, -3.36 49.17" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1319.601173790041 385.524371201304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M-1.64 49.73 L-15.94 43.46 L-8.28 36 L-2.56 49.44" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M-3.36 49.17 C-7.25 47.82, -11.1 46.63, -16.85 42.61 M-16.85 42.61 C-13.91 40.23, -12.49 38.07, -7.01 34.62 M-7.01 34.62 C-5.56 39.2, -5.78 42.18, -3.36 49.17 M-3.36 49.17 C-3.36 49.17, -3.36 49.17, -3.36 49.17" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1375.129168581708 438.2691628679705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M0.2 -1.09 C3.98 -5.62, 21.45 -19.33, 22.32 -27.72 C23.19 -36.11, 8.18 -47.38, 5.43 -51.41" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1375.129168581708 438.2691628679705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M6.35 -50.56 L18.02 -44.55 L10.94 -37.01 L4.15 -51.41" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M5.43 -51.41 C7.79 -49.36, 11.61 -47.94, 19.28 -45.93 M19.28 -45.93 C16.87 -44.6, 14.07 -42.01, 10.14 -37.28 M10.14 -37.28 C8.08 -41.98, 9.18 -44.12, 5.43 -51.41 M5.43 -51.41 C5.43 -51.41, 5.43 -51.41, 5.43 -51.41" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(196.5947372939562 342.6703833276098) rotate(0 29.25 0)"><path d="M0 0 C17.64 0, 35.28 0, 58.5 0 M0 0 C22.59 0, 45.19 0, 58.5 0" stroke="#8b949e" stroke-width="2" fill="none"/></g><g transform="translate(196.5947372939562 342.6703833276098) rotate(0 29.25 0)"><path d="M58.5 0 L44.91 6.34 L44.91 -6.34 L58.5 0" stroke="none" stroke-width="0" fill="#8b949e" fill-rule="evenodd"/><path d="M58.5 0 C54.4 1.91, 50.3 3.82, 44.91 6.34 M58.5 0 C53.25 2.45, 48 4.9, 44.91 6.34 M44.91 6.34 C44.91 3.68, 44.91 1.02, 44.91 -6.34 M44.91 6.34 C44.91 3.14, 44.91 -0.06, 44.91 -6.34 M44.91 -6.34 C50.13 -3.9, 55.36 -1.46, 58.5 0 M44.91 -6.34 C48.63 -4.6, 52.35 -2.87, 58.5 0 M58.5 0 C58.5 0, 58.5 0, 58.5 0 M58.5 0 C58.5 0, 58.5 0, 58.5 0" stroke="#8b949e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(262.20034555288464 438.98351854308146) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#4a2c59"/><path d="M0 0 C59.58 0, 119.15 0, 170 0 M0 0 C43.28 0, 86.56 0, 170 0 M170 0 C170 18.75, 170 37.49, 170 80 M170 0 C170 23.47, 170 46.94, 170 80 M170 80 C128.04 80, 86.08 80, 0 80 M170 80 C130.51 80, 91.03 80, 0 80 M0 80 C0 52.15, 0 24.3, 0 0 M0 80 C0 60.03, 0 40.05, 0 0" stroke="#c297ea" stroke-width="2" fill="none"/></g><g transform="translate(314.06037668081433 465.48351854308146) rotate(0 33.13996887207031 13.5)"><text x="33.13996887207031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#e6edf3" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Review</text></g><g stroke-linecap="round"><g transform="translate(320.49605797848005 384.8563329032007) rotate(0 -10.312174479166742 24.68419828869048)"><path d="M-0.5 -0.25 C-3.98 3.6, -20.17 15.03, -20.76 23.26 C-21.36 31.49, -6.8 44.77, -4.07 49.1" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(320.49605797848005 384.8563329032007) rotate(0 -10.312174479166742 24.68419828869048)"><path d="M-3.48 49.66 L-18.55 42 L-7.62 34.94 L-4.87 49.56" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M-4.07 49.1 C-8.81 46.77, -13.57 45.6, -17.63 42.68 M-17.63 42.68 C-15.61 40.77, -12.14 38.35, -7.87 34.59 M-7.87 34.59 C-6.45 40.69, -5.69 45, -4.07 49.1 M-4.07 49.1 C-4.07 49.1, -4.07 49.1, -4.07 49.1" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(375.0527609760561 436.27746385558146) rotate(0 11.152312563711916 -25.226190476190595)"><path d="M-0.31 -1.14 C3.78 -5.46, 22.42 -18.18, 23.45 -26.45 C24.49 -34.72, 9.03 -46.8, 5.9 -50.77" stroke="#c9d1d9" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(375.0527609760561 436.27746385558146) rotate(0 11.152312563711916 -25.226190476190595)"><path d="M4.07 -52.12 L20.37 -44.87 L9.32 -35.83 L5.08 -51.14" stroke="none" stroke-width="0" fill="#c9d1d9" fill-rule="evenodd"/><path d="M5.9 -50.77 C7.39 -48.22, 11.02 -48.02, 19.87 -45.58 M19.87 -45.58 C18.55 -43.7, 15.89 -40.14, 10.9 -36.74 M10.9 -36.74 C7.51 -43.3, 6.21 -49.02, 5.9 -50.77 M5.9 -50.77 C5.9 -50.77, 5.9 -50.77, 5.9 -50.77" stroke="#c9d1d9" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(60.0 279.7176124656595) rotate(0 57.3193359375 77.412109375)"><path d="M0 0 L114.64 0 L114.64 154.82 L0 154.82" stroke="none" stroke-width="0" fill="#161b22"/><path d="M0 0 C44.32 0, 88.63 0, 114.64 0 M0 0 C42.97 0, 85.94 0, 114.64 0 M114.64 0 C114.64 37.65, 114.64 75.3, 114.64 154.82 M114.64 0 C114.64 35.17, 114.64 70.35, 114.64 154.82 M114.64 154.82 C78.03 154.82, 41.43 154.82, 0 154.82 M114.64 154.82 C91.16 154.82, 67.68 154.82, 0 154.82 M0 154.82 C0 104.58, 0 54.34, 0 0 M0 154.82 C0 114.99, 0 75.15, 0 0" stroke="#c9d1d9" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(65.69945484203299 272.8620149381867) rotate(0 57.3193359375 77.412109375)"><path d="M0 0 L114.64 0 L114.64 154.82 L0 154.82" stroke="none" stroke-width="0" fill="#161b22"/><path d="M0 0 C42.04 0, 84.08 0, 114.64 0 M0 0 C26.56 0, 53.13 0, 114.64 0 M114.64 0 C114.64 45.34, 114.64 90.67, 114.64 154.82 M114.64 0 C114.64 61.43, 114.64 122.86, 114.64 154.82 M114.64 154.82 C76.05 154.82, 37.45 154.82, 0 154.82 M114.64 154.82 C74.88 154.82, 35.12 154.82, 0 154.82 M0 154.82 C0 102.3, 0 49.77, 0 0 M0 154.82 C0 114.72, 0 74.61, 0 0" stroke="#c9d1d9" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(72.9987980769231 266.25772664835165) rotate(0 57.3193359375 77.412109375)"><path d="M0 0 L114.64 0 L114.64 154.82 L0 154.82" stroke="none" stroke-width="0" fill="#161b22"/><path d="M0 0 C45.21 0, 90.42 0, 114.64 0 M0 0 C43.7 0, 87.4 0, 114.64 0 M114.64 0 C114.64 50.88, 114.64 101.75, 114.64 154.82 M114.64 0 C114.64 36.13, 114.64 72.26, 114.64 154.82 M114.64 154.82 C86 154.82, 57.37 154.82, 0 154.82 M114.64 154.82 C70.06 154.82, 25.47 154.82, 0 154.82 M0 154.82 C0 108.8, 0 62.78, 0 0 M0 154.82 C0 123.11, 0 91.4, 0 0" stroke="#c9d1d9" stroke-width="2" fill="none"/></g><g transform="translate(84.64819688063403 330.16983602335165) rotate(0 45.66993713378906 13.5)"><text x="45.66993713378906" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#c9d1d9" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Draft plan</text></g><g stroke-linecap="round" transform="translate(865.0207224416213 60.0) rotate(0 21.26395089285711 21.26395089285711)"><path d="M10.63 0 C18.12 0.24, 25.5 -3.17, 31.9 0 C35.43 1.36, 44.97 6.75, 42.53 10.63 C44.08 15.5, 40.58 25.74, 42.53 31.9 C42.67 42.04, 38.4 44.12, 31.9 42.53 C28.32 44.33, 19.69 42.34, 10.63 42.53 C0.32 41.86, -0.24 37.54, 0 31.9 C3.09 25.1, -0.23 21.45, 0 10.63 C1.16 0.09, 5.48 -2.49, 10.63 0" stroke="none" stroke-width="0" fill="#1a4d2e"/><path d="M10.63 0 C20.62 -0.43, 26.56 1.5, 31.9 0 M10.63 0 C18.93 -0.52, 28.03 -0.51, 31.9 0 M31.9 0 C39.09 1.11, 42.62 3.37, 42.53 10.63 M31.9 0 C37.01 -0.77, 44.77 2.55, 42.53 10.63 M42.53 10.63 C42.25 18.45, 43.09 22.01, 42.53 31.9 M42.53 10.63 C42.79 16.74, 41.85 23.3, 42.53 31.9 M42.53 31.9 C42.94 37.17, 40.81 42.73, 31.9 42.53 M42.53 31.9 C44.62 39.47, 37.92 41.6, 31.9 42.53 M31.9 42.53 C23.88 40.86, 17.47 44.21, 10.63 42.53 M31.9 42.53 C24.7 41.99, 19.54 42.68, 10.63 42.53 M10.63 42.53 C4.9 42.47, 0.86 40.46, 0 31.9 M10.63 42.53 C2.64 42.72, -2.11 39.55, 0 31.9 M0 31.9 C-0.97 25.66, 0.76 18.75, 0 10.63 M0 31.9 C0.49 25.45, 0.33 17.65, 0 10.63 M0 10.63 C0.35 2.69, 1.7 1.35, 10.63 0 M0 10.63 C1.74 3.11, 4.65 -0.13, 10.63 0" stroke="#2f9e44" stroke-width="2" fill="none"/></g><g transform="translate(927.0519724416213 63.66249999999991) rotate(0 49.19597625732422 18.899999999999977)"><text x="0" y="28.112000000000002" font-family="Nunito, Segoe UI Emoji" font-size="28px" fill="#c9d1d9" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Planner</text></g><g stroke-linecap="round" transform="translate(865.4586747557255 117.35435267857133) rotate(0 21.26395089285711 21.26395089285711)"><path d="M10.63 0 C15.06 1.38, 25.47 -1.68, 31.9 0 C35.8 -1.09, 45.94 1.77, 42.53 10.63 C40.92 19.78, 39.62 26.29, 42.53 31.9 C42.97 38.85, 35.86 45.03, 31.9 42.53 C23.98 42.85, 21.98 44.26, 10.63 42.53 C1.05 41.97, -1.55 37.37, 0 31.9 C1.06 22.3, 0.33 16.22, 0 10.63 C2.04 5.91, 3.73 0.05, 10.63 0" stroke="none" stroke-width="0" fill="#15426b"/><path d="M10.63 0 C15.74 1.42, 23.95 0.46, 31.9 0 M10.63 0 C15.66 -0.4, 20.45 0.5, 31.9 0 M31.9 0 C38.15 -0.81, 43.25 3.88, 42.53 10.63 M31.9 0 C39.57 -0.57, 42.57 4.98, 42.53 10.63 M42.53 10.63 C41.79 16.74, 41.58 25.26, 42.53 31.9 M42.53 10.63 C42.55 17.6, 41.94 25, 42.53 31.9 M42.53 31.9 C40.66 39.96, 37.08 42.38, 31.9 42.53 M42.53 31.9 C43.63 41.16, 40.55 41.14, 31.9 42.53 M31.9 42.53 C21.44 42.28, 16.31 43.54, 10.63 42.53 M31.9 42.53 C27.39 42.67, 22.41 42.28, 10.63 42.53 M10.63 42.53 C5.35 41.71, -0.78 38.03, 0 31.9 M10.63 42.53 C2.61 42.91, -1.44 40.81, 0 31.9 M0 31.9 C-0.27 25.06, 0.45 15.49, 0 10.63 M0 31.9 C-0.12 25.02, -0.49 15.28, 0 10.63 M0 10.63 C-0.86 3.94, 3.36 1.79, 10.63 0 M0 10.63 C-2.23 1.91, 4.33 2.09, 10.63 0" stroke="#58a6ff" stroke-width="2" fill="none"/></g><g transform="translate(927.2018388182255 121.01685267857124) rotate(0 37.603981018066406 18.899999999999977)"><text x="0" y="28.112000000000002" font-family="Nunito, Segoe UI Emoji" font-size="28px" fill="#c9d1d9" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Coder</text></g><g stroke-linecap="round" transform="translate(865.3347908271539 175.30412946428555) rotate(0 21.26395089285711 23.900000000000034)"><path d="M10.63 0 C13.98 2.61, 22.61 -2.06, 31.9 0 C38.23 0.74, 43.59 3.62, 42.53 10.63 C45.57 14.92, 45.08 24.25, 42.53 37.17 C40.43 45.27, 42.34 47.56, 31.9 47.8 C25.29 47.75, 18.47 46.41, 10.63 47.8 C5.31 49.31, 2.31 45.9, 0 37.17 C-1.23 31.33, -1.61 25.12, 0 10.63 C1.19 3.63, 6.63 -1.01, 10.63 0" stroke="none" stroke-width="0" fill="#4a2c59"/><path d="M10.63 0 C19.85 -1.32, 28.15 1.1, 31.9 0 M10.63 0 C15.6 0.51, 21.71 0, 31.9 0 M31.9 0 C39.36 1.65, 40.78 4.59, 42.53 10.63 M31.9 0 C37.9 1.81, 44.53 2.01, 42.53 10.63 M42.53 10.63 C44.27 20.29, 43.57 28.64, 42.53 37.17 M42.53 10.63 C42.61 19.92, 43.2 29.54, 42.53 37.17 M42.53 37.17 C41.81 42.68, 37.38 47.58, 31.9 47.8 M42.53 37.17 C40.75 44.93, 40.43 48.56, 31.9 47.8 M31.9 47.8 C24.76 49.47, 14.86 47.7, 10.63 47.8 M31.9 47.8 C23.36 48.21, 15.34 47.63, 10.63 47.8 M10.63 47.8 C1.83 49.75, 0.43 45.46, 0 37.17 M10.63 47.8 C4.98 48.88, -1.1 42.72, 0 37.17 M0 37.17 C0.72 30.31, 0.04 21.04, 0 10.63 M0 37.17 C0.79 28.14, 0.23 17.65, 0 10.63 M0 10.63 C-1.09 4.68, 4.92 -1.77, 10.63 0 M0 10.63 C0.55 3.52, 2.11 1.02, 10.63 0" stroke="#c297ea" stroke-width="2" fill="none"/></g><g transform="translate(927.3660408271539 178.96662946428592) rotate(0 58.869972229003906 18.899999999999977)"><text x="0" y="28.112000000000002" font-family="Nunito, Segoe UI Emoji" font-size="28px" fill="#c9d1d9" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Reviewer</text></g><g transform="translate(610.2606563358518 115.59231627747204) rotate(0 116.1359634399414 24.30000000000001)"><text x="0" y="36.144000000000005" font-family="Nunito, Segoe UI Emoji" font-size="36px" fill="#c9d1d9" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Three models:</text></g></svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1742.6871929611189 581.5018875438792" width="1742.6871929611189" height="581.5018875438792"><!-- svg-source:excalidraw --><metadata/><defs><style class="style-fonts">
|
|
2
|
+
@font-face { font-family: Nunito; src: url(data:font/woff2;base64,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); }</style></defs><rect x="0" y="0" width="1742.6871929611189" height="581.5018875438792" fill="#ffffff"/><g stroke-linecap="round" transform="translate(262.94598202361897 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#ebfbee"/><path d="M0 0 C43.09 0, 86.19 0, 170 0 M0 0 C34.13 0, 68.26 0, 170 0 M170 0 C170 25.31, 170 50.63, 170 80 M170 0 C170 20.8, 170 41.61, 170 80 M170 80 C125.5 80, 81.01 80, 0 80 M170 80 C115.24 80, 60.48 80, 0 80 M0 80 C0 58.78, 0 37.55, 0 0 M0 80 C0 53.09, 0 26.18, 0 0" stroke="#2f9e44" stroke-width="2" fill="none"/></g><g transform="translate(296.70603756561115 328.3905594188792) rotate(0 51.23994445800781 13.5)"><text x="51.23994445800781" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Refine plan</text></g><g stroke-linecap="round" transform="translate(512.945982023619 301.6639969188792) rotate(0 84.99999999999994 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#e7f5ff"/><path d="M0 0 C44.15 0, 88.31 0, 170 0 M0 0 C53.01 0, 106.02 0, 170 0 M170 0 C170 21.32, 170 42.64, 170 80 M170 0 C170 17.07, 170 34.14, 170 80 M170 80 C121.13 80, 72.26 80, 0 80 M170 80 C117.79 80, 65.57 80, 0 80 M0 80 C0 61.7, 0 43.41, 0 0 M0 80 C0 55.64, 0 31.28, 0 0" stroke="#1971c2" stroke-width="2" fill="none"/></g><g transform="translate(544.5860424484237 314.6639969188792) rotate(0 53.359939575195256 27)"><text x="53.35993957519531" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Fresh agent</text><text x="53.35993957519531" y="47.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> context</text></g><g stroke-linecap="round" transform="translate(762.9459820236189 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#e7f5ff"/><path d="M0 0 C35.27 0, 70.54 0, 170 0 M0 0 C62.07 0, 124.14 0, 170 0 M170 0 C170 28.28, 170 56.57, 170 80 M170 0 C170 18.91, 170 37.82, 170 80 M170 80 C132.43 80, 94.86 80, 0 80 M170 80 C113.18 80, 56.36 80, 0 80 M0 80 C0 57.57, 0 35.14, 0 0 M0 80 C0 52.18, 0 24.36, 0 0" stroke="#1971c2" stroke-width="2" fill="none"/></g><g transform="translate(783.5960522140485 328.3905594188792) rotate(0 64.34992980957031 13.5)"><text x="64.34992980957031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Execute scope</text></g><g stroke-linecap="round" transform="translate(1012.9459820236189 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#e7f5ff"/><path d="M0 0 C53.64 0, 107.27 0, 170 0 M0 0 C44.06 0, 88.12 0, 170 0 M170 0 C170 31.75, 170 63.51, 170 80 M170 0 C170 31.54, 170 63.07, 170 80 M170 80 C123.64 80, 77.28 80, 0 80 M170 80 C102.9 80, 35.81 80, 0 80 M0 80 C0 55.01, 0 30.02, 0 0 M0 80 C0 60.57, 0 41.13, 0 0" stroke="#1971c2" stroke-width="2" fill="none"/></g><g transform="translate(1062.7760067428571 328.3905594188792) rotate(0 35.16997528076172 13.5)"><text x="35.16997528076172" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Commit</text></g><g stroke-linecap="round" transform="translate(1262.687192961119 301.8905594188792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#e7f5ff"/><path d="M0 0 C50.17 0, 100.34 0, 170 0 M0 0 C58.72 0, 117.44 0, 170 0 M170 0 C170 23.41, 170 46.83, 170 80 M170 0 C170 21.65, 170 43.3, 170 80 M170 80 C133.58 80, 97.17 80, 0 80 M170 80 C108.13 80, 46.27 80, 0 80 M0 80 C0 51, 0 22, 0 0 M0 80 C0 54.68, 0 29.37, 0 0" stroke="#1971c2" stroke-width="2" fill="none"/></g><g transform="translate(1289.757261320494 328.3905594188792) rotate(0 57.929931640625 13.5)"><text x="57.929931640625" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Final Review</text></g><g stroke-linecap="round" transform="translate(1512.687192961119 301.8905594188792) rotate(0 84.99999999999989 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#fff4e6"/><path d="M0 0 C66.42 0, 132.83 0, 170 0 M0 0 C57.35 0, 114.7 0, 170 0 M170 0 C170 28.36, 170 56.72, 170 80 M170 0 C170 30.17, 170 60.35, 170 80 M170 80 C132.77 80, 95.54 80, 0 80 M170 80 C117.17 80, 64.33 80, 0 80 M0 80 C0 51.63, 0 23.25, 0 0 M0 80 C0 59.69, 0 39.37, 0 0" stroke="#e8590c" stroke-width="2" fill="none"/></g><g transform="translate(1564.107229277037 328.3905594188792) rotate(0 33.57996368408192 13.5)"><text x="33.57996368408203" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Squash</text></g><g stroke-linecap="round"><g transform="translate(441.94598202361897 341.8905594188792) rotate(0 29.5 0)"><path d="M0 0 C18.9 0, 37.79 0, 59 0 M0 0 C18.89 0, 37.78 0, 59 0" stroke="#495057" stroke-width="2" fill="none"/></g><g transform="translate(441.94598202361897 341.8905594188792) rotate(0 29.5 0)"><path d="M59 0 L45.41 6.34 L45.41 -6.34 L59 0" stroke="none" stroke-width="0" fill="#495057" fill-rule="evenodd"/><path d="M59 0 C54.65 2.03, 50.29 4.06, 45.41 6.34 M59 0 C54.65 2.03, 50.29 4.06, 45.41 6.34 M45.41 6.34 C45.41 1.85, 45.41 -2.64, 45.41 -6.34 M45.41 6.34 C45.41 3.01, 45.41 -0.32, 45.41 -6.34 M45.41 -6.34 C48.17 -5.05, 50.92 -3.77, 59 0 M45.41 -6.34 C49.58 -4.39, 53.75 -2.45, 59 0 M59 0 C59 0, 59 0, 59 0 M59 0 C59 0, 59 0, 59 0" stroke="#495057" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(691.9459820236189 341.7657960210282) rotate(0 29.5 0.03502764805136849)"><path d="M0 0 C18.67 0.02, 37.34 0.04, 59 0.07 M0 0 C15.34 0.02, 30.69 0.04, 59 0.07" stroke="#495057" stroke-width="2" fill="none"/></g><g transform="translate(691.9459820236189 341.7657960210282) rotate(0 29.5 0.03502764805136849)"><path d="M59 0.07 L45.4 6.39 L45.41 -6.29 L59 0.07" stroke="none" stroke-width="0" fill="#495057" fill-rule="evenodd"/><path d="M59 0.07 C54.7 2.07, 50.39 4.07, 45.4 6.39 M59 0.07 C55.46 1.71, 51.93 3.36, 45.4 6.39 M45.4 6.39 C45.4 3.07, 45.41 -0.24, 45.41 -6.29 M45.4 6.39 C45.4 2.31, 45.41 -1.78, 45.41 -6.29 M45.41 -6.29 C49.02 -4.6, 52.62 -2.91, 59 0.07 M45.41 -6.29 C49.98 -4.15, 54.55 -2.01, 59 0.07 M59 0.07 C59 0.07, 59 0.07, 59 0.07 M59 0.07 C59 0.07, 59 0.07, 59 0.07" stroke="#495057" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(941.9459820236189 341.8905594188792) rotate(0 29.5 0)"><path d="M0 0 C15.72 0, 31.45 0, 59 0 M0 0 C12.59 0, 25.18 0, 59 0" stroke="#495057" stroke-width="2" fill="none"/></g><g transform="translate(941.9459820236189 341.8905594188792) rotate(0 29.5 0)"><path d="M59 0 L45.41 6.34 L45.41 -6.34 L59 0" stroke="none" stroke-width="0" fill="#495057" fill-rule="evenodd"/><path d="M59 0 C55.38 1.69, 51.75 3.38, 45.41 6.34 M59 0 C56.1 1.35, 53.2 2.71, 45.41 6.34 M45.41 6.34 C45.41 2.69, 45.41 -0.95, 45.41 -6.34 M45.41 6.34 C45.41 2.45, 45.41 -1.45, 45.41 -6.34 M45.41 -6.34 C48.51 -4.89, 51.62 -3.44, 59 0 M45.41 -6.34 C49.55 -4.41, 53.68 -2.48, 59 0 M59 0 C59 0, 59 0, 59 0 M59 0 C59 0, 59 0, 59 0" stroke="#495057" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1192.1871929611189 341.8905594188792) rotate(0 29 0)"><path d="M0 0 C20.51 0, 41.01 0, 58 0 M0 0 C13.71 0, 27.42 0, 58 0" stroke="#495057" stroke-width="2" fill="none"/></g><g transform="translate(1192.1871929611189 341.8905594188792) rotate(0 29 0)"><path d="M58 0 L44.41 6.34 L44.41 -6.34 L58 0" stroke="none" stroke-width="0" fill="#495057" fill-rule="evenodd"/><path d="M58 0 C53.19 2.24, 48.39 4.48, 44.41 6.34 M58 0 C54.79 1.5, 51.57 3, 44.41 6.34 M44.41 6.34 C44.41 3.54, 44.41 0.74, 44.41 -6.34 M44.41 6.34 C44.41 2.1, 44.41 -2.14, 44.41 -6.34 M44.41 -6.34 C48.22 -4.56, 52.03 -2.78, 58 0 M44.41 -6.34 C49.13 -4.13, 53.86 -1.93, 58 0 M58 0 C58 0, 58 0, 58 0 M58 0 C58 0, 58 0, 58 0" stroke="#495057" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1442.187192961119 341.8905594188792) rotate(0 29 0)"><path d="M0 0 C23.02 0, 46.04 0, 58 0 M0 0 C22.86 0, 45.73 0, 58 0" stroke="#495057" stroke-width="2" fill="none"/></g><g transform="translate(1442.187192961119 341.8905594188792) rotate(0 29 0)"><path d="M58 0 L44.41 6.34 L44.41 -6.34 L58 0" stroke="none" stroke-width="0" fill="#495057" fill-rule="evenodd"/><path d="M58 0 C52.6 2.52, 47.21 5.03, 44.41 6.34 M58 0 C52.64 2.5, 47.28 5, 44.41 6.34 M44.41 6.34 C44.41 2.88, 44.41 -0.58, 44.41 -6.34 M44.41 6.34 C44.41 1.34, 44.41 -3.67, 44.41 -6.34 M44.41 -6.34 C48.65 -4.36, 52.9 -2.38, 58 0 M44.41 -6.34 C47.71 -4.8, 51.01 -3.26, 58 0 M58 0 C58 0, 58 0, 58 0 M58 0 C58 0, 58 0, 58 0" stroke="#495057" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1105.9713525935056 301.24160820093687) rotate(0 -257.13862305703515 -25.36790720352883)"><path d="M0 0 C0.16 -15.45, 0.82 -29.61, 0.46 -50.74 M0.46 -50.74 C-203.45 -49.33, -406.37 -49.36, -514.73 -50.74 M-514.73 -50.74 C-514.48 -35.22, -513.61 -21.1, -514.73 -4.58" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1105.9713525935056 301.24160820093687) rotate(0 -257.13862305703515 -25.36790720352883)"><path d="M-513.93 -6.29 L-519.84 -18.63 L-506.52 -18.98 L-514.46 -6.35" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M-514.73 -4.58 C-516.24 -9.61, -517.43 -13.62, -520.55 -18.4 M-520.55 -18.4 C-516.46 -18.16, -510.8 -18.02, -507.88 -17.92 M-507.88 -17.92 C-509.91 -12.89, -511.4 -8.95, -514.73 -4.58 M-514.73 -4.58 C-514.73 -4.58, -514.73 -4.58, -514.73 -4.58" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(764.0054128271904 439.53467214209365) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#f8f0fc"/><path d="M0 0 C36.42 0, 72.83 0, 170 0 M0 0 C61.87 0, 123.73 0, 170 0 M170 0 C170 29, 170 58, 170 80 M170 0 C170 25.32, 170 50.63, 170 80 M170 80 C112.9 80, 55.8 80, 0 80 M170 80 C132.74 80, 95.48 80, 0 80 M0 80 C0 54.98, 0 29.96, 0 0 M0 80 C0 53.73, 0 27.46, 0 0" stroke="#9c36b5" stroke-width="2" fill="none"/></g><g transform="translate(814.3154409033623 466.03467214209365) rotate(0 34.689971923828125 13.5)"><text x="34.689971923828125" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Consult</text></g><g stroke-linecap="round" transform="translate(1013.2731304611189 441.5018875438792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#f8f0fc"/><path d="M0 0 C34.51 0, 69.02 0, 170 0 M0 0 C52.19 0, 104.37 0, 170 0 M170 0 C170 27.18, 170 54.36, 170 80 M170 0 C170 16.74, 170 33.49, 170 80 M170 80 C116.69 80, 63.38 80, 0 80 M170 80 C128.54 80, 87.08 80, 0 80 M0 80 C0 61.19, 0 42.38, 0 0 M0 80 C0 50.47, 0 20.94, 0 0" stroke="#9c36b5" stroke-width="2" fill="none"/></g><g transform="translate(1065.1331615890485 468.0018875438792) rotate(0 33.13996887207031 13.5)"><text x="33.13996887207031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Review</text></g><g stroke-linecap="round" transform="translate(1263.102232023619 441.3544266063792) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#f8f0fc"/><path d="M0 0 C38.88 0, 77.76 0, 170 0 M0 0 C51.77 0, 103.54 0, 170 0 M170 0 C170 21.59, 170 43.18, 170 80 M170 0 C170 23.08, 170 46.17, 170 80 M170 80 C127.7 80, 85.4 80, 0 80 M170 80 C105.5 80, 41 80, 0 80 M0 80 C0 52.33, 0 24.66, 0 0 M0 80 C0 55.98, 0 31.96, 0 0" stroke="#9c36b5" stroke-width="2" fill="none"/></g><g transform="translate(1314.9622631515488 467.8544266063792) rotate(0 33.13996887207031 13.5)"><text x="33.13996887207031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Review</text></g><g stroke-linecap="round"><g transform="translate(821.8011252527858 384.9074865022129) rotate(0 -10.062174479166742 24.93419828869048)"><path d="M0.34 0.02 C-2.97 4.08, -19.12 16.29, -19.82 24.55 C-20.53 32.8, -6.44 45.32, -3.88 49.55" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(821.8011252527858 384.9074865022129) rotate(0 -10.062174479166742 24.93419828869048)"><path d="M-4.68 50.51 L-17.29 43.89 L-7.77 34.52 L-4.53 49.85" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M-3.88 49.55 C-8.09 47.99, -11.99 45.86, -17.42 43.1 M-17.42 43.1 C-15.21 40.84, -12.54 38.6, -7.64 35.03 M-7.64 35.03 C-6.51 40.48, -5.54 45.01, -3.88 49.55 M-3.88 49.55 C-3.88 49.55, -3.88 49.55, -3.88 49.55" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(877.3578282503618 437.32861745459365) rotate(0 10.902312563711916 -25.476190476190595)"><path d="M0.66 0.57 C4.24 -3.94, 21.69 -18.5, 22.28 -27.05 C22.87 -35.61, 7.15 -46.68, 4.2 -50.76" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(877.3578282503618 437.32861745459365) rotate(0 10.902312563711916 -25.476190476190595)"><path d="M4.46 -49.17 L17.95 -46.71 L8.02 -36.18 L5.93 -50.19" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M4.2 -50.76 C9.99 -48.4, 13.51 -48.11, 18.21 -45.68 M18.21 -45.68 C15.58 -44.04, 13.06 -41.15, 9.32 -36.76 M9.32 -36.76 C6.83 -41.23, 4.58 -46.12, 4.2 -50.76 M4.2 -50.76 C4.2 -50.76, 4.2 -50.76, 4.2 -50.76" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1071.1701842067077 386.325152451304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M0.48 -0.68 C-3.11 3.3, -20.11 16.09, -20.89 24.48 C-21.67 32.87, -7.08 45.54, -4.21 49.64" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1071.1701842067077 386.325152451304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M-4.47 48.61 L-19.27 44.26 L-6.76 35.83 L-3.29 50.49" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M-4.21 49.64 C-9.97 46.62, -13.75 45.01, -17.97 43.67 M-17.97 43.67 C-15.07 40.54, -12.71 39.34, -8.49 35.26 M-8.49 35.26 C-8.31 40.55, -6.63 45.08, -4.21 49.64 M-4.21 49.64 C-4.21 49.64, -4.21 49.64, -4.21 49.64" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1126.6981789983745 439.0699441179705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M-0.77 0.2 C2.73 -4.23, 20.48 -18.48, 21.47 -27.25 C22.47 -36.01, 7.86 -48.19, 5.2 -52.36" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1126.6981789983745 439.0699441179705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M3.9 -51.78 L20.53 -45.74 L10.22 -37.19 L3.93 -50.98" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M5.2 -52.36 C10.03 -50.67, 13.72 -47.91, 18.81 -46.31 M18.81 -46.31 C17.3 -44.8, 15.72 -43.59, 9.3 -38.04 M9.3 -38.04 C6.94 -43.3, 7.32 -46.83, 5.2 -52.36 M5.2 -52.36 C5.2 -52.36, 5.2 -52.36, 5.2 -52.36" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1319.601173790041 385.524371201304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M-0.36 -0.55 C-3.55 3.28, -19.43 14.91, -19.93 23.19 C-20.43 31.48, -6.12 44.69, -3.36 49.17" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1319.601173790041 385.524371201304) rotate(0 -10.062174479166629 25.09602864583337)"><path d="M-1.64 49.73 L-15.94 43.46 L-8.28 36 L-2.56 49.44" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M-3.36 49.17 C-7.25 47.82, -11.1 46.63, -16.85 42.61 M-16.85 42.61 C-13.91 40.23, -12.49 38.07, -7.01 34.62 M-7.01 34.62 C-5.56 39.2, -5.78 42.18, -3.36 49.17 M-3.36 49.17 C-3.36 49.17, -3.36 49.17, -3.36 49.17" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1375.129168581708 438.2691628679705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M0.2 -1.09 C3.98 -5.62, 21.45 -19.33, 22.32 -27.72 C23.19 -36.11, 8.18 -47.38, 5.43 -51.41" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(1375.129168581708 438.2691628679705) rotate(0 10.916666666666629 -25.63802083333337)"><path d="M6.35 -50.56 L18.02 -44.55 L10.94 -37.01 L4.15 -51.41" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M5.43 -51.41 C7.79 -49.36, 11.61 -47.94, 19.28 -45.93 M19.28 -45.93 C16.87 -44.6, 14.07 -42.01, 10.14 -37.28 M10.14 -37.28 C8.08 -41.98, 9.18 -44.12, 5.43 -51.41 M5.43 -51.41 C5.43 -51.41, 5.43 -51.41, 5.43 -51.41" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(196.5947372939562 342.6703833276098) rotate(0 29.25 0)"><path d="M0 0 C17.64 0, 35.28 0, 58.5 0 M0 0 C22.59 0, 45.19 0, 58.5 0" stroke="#495057" stroke-width="2" fill="none"/></g><g transform="translate(196.5947372939562 342.6703833276098) rotate(0 29.25 0)"><path d="M58.5 0 L44.91 6.34 L44.91 -6.34 L58.5 0" stroke="none" stroke-width="0" fill="#495057" fill-rule="evenodd"/><path d="M58.5 0 C54.4 1.91, 50.3 3.82, 44.91 6.34 M58.5 0 C53.25 2.45, 48 4.9, 44.91 6.34 M44.91 6.34 C44.91 3.68, 44.91 1.02, 44.91 -6.34 M44.91 6.34 C44.91 3.14, 44.91 -0.06, 44.91 -6.34 M44.91 -6.34 C50.13 -3.9, 55.36 -1.46, 58.5 0 M44.91 -6.34 C48.63 -4.6, 52.35 -2.87, 58.5 0 M58.5 0 C58.5 0, 58.5 0, 58.5 0 M58.5 0 C58.5 0, 58.5 0, 58.5 0" stroke="#495057" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(262.20034555288464 438.98351854308146) rotate(0 85 40)"><path d="M0 0 L170 0 L170 80 L0 80" stroke="none" stroke-width="0" fill="#f8f0fc"/><path d="M0 0 C59.58 0, 119.15 0, 170 0 M0 0 C43.28 0, 86.56 0, 170 0 M170 0 C170 18.75, 170 37.49, 170 80 M170 0 C170 23.47, 170 46.94, 170 80 M170 80 C128.04 80, 86.08 80, 0 80 M170 80 C130.51 80, 91.03 80, 0 80 M0 80 C0 52.15, 0 24.3, 0 0 M0 80 C0 60.03, 0 40.05, 0 0" stroke="#9c36b5" stroke-width="2" fill="none"/></g><g transform="translate(314.06037668081433 465.48351854308146) rotate(0 33.13996887207031 13.5)"><text x="33.13996887207031" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Review</text></g><g stroke-linecap="round"><g transform="translate(320.49605797848005 384.8563329032007) rotate(0 -10.312174479166742 24.68419828869048)"><path d="M-0.5 -0.25 C-3.98 3.6, -20.17 15.03, -20.76 23.26 C-21.36 31.49, -6.8 44.77, -4.07 49.1" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(320.49605797848005 384.8563329032007) rotate(0 -10.312174479166742 24.68419828869048)"><path d="M-3.48 49.66 L-18.55 42 L-7.62 34.94 L-4.87 49.56" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M-4.07 49.1 C-8.81 46.77, -13.57 45.6, -17.63 42.68 M-17.63 42.68 C-15.61 40.77, -12.14 38.35, -7.87 34.59 M-7.87 34.59 C-6.45 40.69, -5.69 45, -4.07 49.1 M-4.07 49.1 C-4.07 49.1, -4.07 49.1, -4.07 49.1" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(375.0527609760561 436.27746385558146) rotate(0 11.152312563711916 -25.226190476190595)"><path d="M-0.31 -1.14 C3.78 -5.46, 22.42 -18.18, 23.45 -26.45 C24.49 -34.72, 9.03 -46.8, 5.9 -50.77" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g><g transform="translate(375.0527609760561 436.27746385558146) rotate(0 11.152312563711916 -25.226190476190595)"><path d="M4.07 -52.12 L20.37 -44.87 L9.32 -35.83 L5.08 -51.14" stroke="none" stroke-width="0" fill="#1e1e1e" fill-rule="evenodd"/><path d="M5.9 -50.77 C7.39 -48.22, 11.02 -48.02, 19.87 -45.58 M19.87 -45.58 C18.55 -43.7, 15.89 -40.14, 10.9 -36.74 M10.9 -36.74 C7.51 -43.3, 6.21 -49.02, 5.9 -50.77 M5.9 -50.77 C5.9 -50.77, 5.9 -50.77, 5.9 -50.77" stroke="#1e1e1e" stroke-width="2.5" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(60.0 279.7176124656595) rotate(0 57.3193359375 77.412109375)"><path d="M0 0 L114.64 0 L114.64 154.82 L0 154.82" stroke="none" stroke-width="0" fill="#ffffff"/><path d="M0 0 C44.32 0, 88.63 0, 114.64 0 M0 0 C42.97 0, 85.94 0, 114.64 0 M114.64 0 C114.64 37.65, 114.64 75.3, 114.64 154.82 M114.64 0 C114.64 35.17, 114.64 70.35, 114.64 154.82 M114.64 154.82 C78.03 154.82, 41.43 154.82, 0 154.82 M114.64 154.82 C91.16 154.82, 67.68 154.82, 0 154.82 M0 154.82 C0 104.58, 0 54.34, 0 0 M0 154.82 C0 114.99, 0 75.15, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(65.69945484203299 272.8620149381867) rotate(0 57.3193359375 77.412109375)"><path d="M0 0 L114.64 0 L114.64 154.82 L0 154.82" stroke="none" stroke-width="0" fill="#ffffff"/><path d="M0 0 C42.04 0, 84.08 0, 114.64 0 M0 0 C26.56 0, 53.13 0, 114.64 0 M114.64 0 C114.64 45.34, 114.64 90.67, 114.64 154.82 M114.64 0 C114.64 61.43, 114.64 122.86, 114.64 154.82 M114.64 154.82 C76.05 154.82, 37.45 154.82, 0 154.82 M114.64 154.82 C74.88 154.82, 35.12 154.82, 0 154.82 M0 154.82 C0 102.3, 0 49.77, 0 0 M0 154.82 C0 114.72, 0 74.61, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(72.9987980769231 266.25772664835165) rotate(0 57.3193359375 77.412109375)"><path d="M0 0 L114.64 0 L114.64 154.82 L0 154.82" stroke="none" stroke-width="0" fill="#ffffff"/><path d="M0 0 C45.21 0, 90.42 0, 114.64 0 M0 0 C43.7 0, 87.4 0, 114.64 0 M114.64 0 C114.64 50.88, 114.64 101.75, 114.64 154.82 M114.64 0 C114.64 36.13, 114.64 72.26, 114.64 154.82 M114.64 154.82 C86 154.82, 57.37 154.82, 0 154.82 M114.64 154.82 C70.06 154.82, 25.47 154.82, 0 154.82 M0 154.82 C0 108.8, 0 62.78, 0 0 M0 154.82 C0 123.11, 0 91.4, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(84.64819688063403 330.16983602335165) rotate(0 45.66993713378906 13.5)"><text x="45.66993713378906" y="20.08" font-family="Nunito, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Draft plan</text></g><g stroke-linecap="round" transform="translate(865.0207224416213 60.0) rotate(0 21.26395089285711 21.26395089285711)"><path d="M10.63 0 C18.12 0.24, 25.5 -3.17, 31.9 0 C35.43 1.36, 44.97 6.75, 42.53 10.63 C44.08 15.5, 40.58 25.74, 42.53 31.9 C42.67 42.04, 38.4 44.12, 31.9 42.53 C28.32 44.33, 19.69 42.34, 10.63 42.53 C0.32 41.86, -0.24 37.54, 0 31.9 C3.09 25.1, -0.23 21.45, 0 10.63 C1.16 0.09, 5.48 -2.49, 10.63 0" stroke="none" stroke-width="0" fill="#ebfbee"/><path d="M10.63 0 C20.62 -0.43, 26.56 1.5, 31.9 0 M10.63 0 C18.93 -0.52, 28.03 -0.51, 31.9 0 M31.9 0 C39.09 1.11, 42.62 3.37, 42.53 10.63 M31.9 0 C37.01 -0.77, 44.77 2.55, 42.53 10.63 M42.53 10.63 C42.25 18.45, 43.09 22.01, 42.53 31.9 M42.53 10.63 C42.79 16.74, 41.85 23.3, 42.53 31.9 M42.53 31.9 C42.94 37.17, 40.81 42.73, 31.9 42.53 M42.53 31.9 C44.62 39.47, 37.92 41.6, 31.9 42.53 M31.9 42.53 C23.88 40.86, 17.47 44.21, 10.63 42.53 M31.9 42.53 C24.7 41.99, 19.54 42.68, 10.63 42.53 M10.63 42.53 C4.9 42.47, 0.86 40.46, 0 31.9 M10.63 42.53 C2.64 42.72, -2.11 39.55, 0 31.9 M0 31.9 C-0.97 25.66, 0.76 18.75, 0 10.63 M0 31.9 C0.49 25.45, 0.33 17.65, 0 10.63 M0 10.63 C0.35 2.69, 1.7 1.35, 10.63 0 M0 10.63 C1.74 3.11, 4.65 -0.13, 10.63 0" stroke="#2f9e44" stroke-width="2" fill="none"/></g><g transform="translate(927.0519724416213 63.66249999999991) rotate(0 49.19597625732422 18.899999999999977)"><text x="0" y="28.112000000000002" font-family="Nunito, Segoe UI Emoji" font-size="28px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Planner</text></g><g stroke-linecap="round" transform="translate(865.4586747557255 117.35435267857133) rotate(0 21.26395089285711 21.26395089285711)"><path d="M10.63 0 C15.06 1.38, 25.47 -1.68, 31.9 0 C35.8 -1.09, 45.94 1.77, 42.53 10.63 C40.92 19.78, 39.62 26.29, 42.53 31.9 C42.97 38.85, 35.86 45.03, 31.9 42.53 C23.98 42.85, 21.98 44.26, 10.63 42.53 C1.05 41.97, -1.55 37.37, 0 31.9 C1.06 22.3, 0.33 16.22, 0 10.63 C2.04 5.91, 3.73 0.05, 10.63 0" stroke="none" stroke-width="0" fill="#e7f5ff"/><path d="M10.63 0 C15.74 1.42, 23.95 0.46, 31.9 0 M10.63 0 C15.66 -0.4, 20.45 0.5, 31.9 0 M31.9 0 C38.15 -0.81, 43.25 3.88, 42.53 10.63 M31.9 0 C39.57 -0.57, 42.57 4.98, 42.53 10.63 M42.53 10.63 C41.79 16.74, 41.58 25.26, 42.53 31.9 M42.53 10.63 C42.55 17.6, 41.94 25, 42.53 31.9 M42.53 31.9 C40.66 39.96, 37.08 42.38, 31.9 42.53 M42.53 31.9 C43.63 41.16, 40.55 41.14, 31.9 42.53 M31.9 42.53 C21.44 42.28, 16.31 43.54, 10.63 42.53 M31.9 42.53 C27.39 42.67, 22.41 42.28, 10.63 42.53 M10.63 42.53 C5.35 41.71, -0.78 38.03, 0 31.9 M10.63 42.53 C2.61 42.91, -1.44 40.81, 0 31.9 M0 31.9 C-0.27 25.06, 0.45 15.49, 0 10.63 M0 31.9 C-0.12 25.02, -0.49 15.28, 0 10.63 M0 10.63 C-0.86 3.94, 3.36 1.79, 10.63 0 M0 10.63 C-2.23 1.91, 4.33 2.09, 10.63 0" stroke="#1971c2" stroke-width="2" fill="none"/></g><g transform="translate(927.2018388182255 121.01685267857124) rotate(0 37.603981018066406 18.899999999999977)"><text x="0" y="28.112000000000002" font-family="Nunito, Segoe UI Emoji" font-size="28px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Coder</text></g><g stroke-linecap="round" transform="translate(865.3347908271539 175.30412946428555) rotate(0 21.26395089285711 23.900000000000034)"><path d="M10.63 0 C13.98 2.61, 22.61 -2.06, 31.9 0 C38.23 0.74, 43.59 3.62, 42.53 10.63 C45.57 14.92, 45.08 24.25, 42.53 37.17 C40.43 45.27, 42.34 47.56, 31.9 47.8 C25.29 47.75, 18.47 46.41, 10.63 47.8 C5.31 49.31, 2.31 45.9, 0 37.17 C-1.23 31.33, -1.61 25.12, 0 10.63 C1.19 3.63, 6.63 -1.01, 10.63 0" stroke="none" stroke-width="0" fill="#f8f0fc"/><path d="M10.63 0 C19.85 -1.32, 28.15 1.1, 31.9 0 M10.63 0 C15.6 0.51, 21.71 0, 31.9 0 M31.9 0 C39.36 1.65, 40.78 4.59, 42.53 10.63 M31.9 0 C37.9 1.81, 44.53 2.01, 42.53 10.63 M42.53 10.63 C44.27 20.29, 43.57 28.64, 42.53 37.17 M42.53 10.63 C42.61 19.92, 43.2 29.54, 42.53 37.17 M42.53 37.17 C41.81 42.68, 37.38 47.58, 31.9 47.8 M42.53 37.17 C40.75 44.93, 40.43 48.56, 31.9 47.8 M31.9 47.8 C24.76 49.47, 14.86 47.7, 10.63 47.8 M31.9 47.8 C23.36 48.21, 15.34 47.63, 10.63 47.8 M10.63 47.8 C1.83 49.75, 0.43 45.46, 0 37.17 M10.63 47.8 C4.98 48.88, -1.1 42.72, 0 37.17 M0 37.17 C0.72 30.31, 0.04 21.04, 0 10.63 M0 37.17 C0.79 28.14, 0.23 17.65, 0 10.63 M0 10.63 C-1.09 4.68, 4.92 -1.77, 10.63 0 M0 10.63 C0.55 3.52, 2.11 1.02, 10.63 0" stroke="#6741d9" stroke-width="2" fill="none"/></g><g transform="translate(927.3660408271539 178.96662946428592) rotate(0 58.869972229003906 18.899999999999977)"><text x="0" y="28.112000000000002" font-family="Nunito, Segoe UI Emoji" font-size="28px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Reviewer</text></g><g transform="translate(610.2606563358518 115.59231627747204) rotate(0 116.1359634399414 24.30000000000001)"><text x="0" y="36.144000000000005" font-family="Nunito, Segoe UI Emoji" font-size="36px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Three models:</text></g></svg>
|
package/docs/automation.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Automation contract
|
|
2
2
|
|
|
3
3
|
The machine-facing contract for driving neal from scripts, CI, and benchmark
|
|
4
|
-
harnesses.
|
|
4
|
+
harnesses. [neal-swebench](https://github.com/navels/neal-swebench) is a working
|
|
5
|
+
example: a harness that drives neal headless through this contract to benchmark
|
|
6
|
+
role pairings on SWE-bench Pro.
|
|
5
7
|
|
|
6
8
|
Noninteractive harnesses should run `neal execute <plan.md>` for an already
|
|
7
9
|
accepted executable plan, or `neal run <plan.md>` when neal should refine and
|
package/docs/compat.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
`neal compat` answers one question per model: **can this OpenAI-compatible model
|
|
4
4
|
drive neal's loop at all**, as a coder, a reviewer, or a planner? It is a
|
|
5
5
|
**compatibility smoke test, not a performance benchmark**. There is no
|
|
6
|
-
resolve-rate, no score,
|
|
6
|
+
resolve-rate, no score, and no ranking. The
|
|
7
7
|
fixtures are deliberately trivial. Any working agent should pass them. A failure
|
|
8
8
|
therefore means something is **fundamentally wrong** with the model's ability to
|
|
9
9
|
operate neal's contract. It does not mean a task was hard.
|
|
@@ -17,8 +17,8 @@ external benchmark assets, no dataset download, no remote runner.
|
|
|
17
17
|
- **Measured:** whether the model can follow neal's contract end to end (valid
|
|
18
18
|
tool calls + structured output, no max-step loops, no unresolved operator
|
|
19
19
|
blocks, a clean finalization) **and** solve a trivial bundled fixture.
|
|
20
|
-
- **Not measured:** skill. No resolve-rate, no scores, no rankings,
|
|
21
|
-
|
|
20
|
+
- **Not measured:** skill. No resolve-rate, no scores, no rankings, trivial
|
|
21
|
+
fixtures only.
|
|
22
22
|
- **Outcome:** a binary **PASS / FAIL per (model, role)**, with a structural
|
|
23
23
|
failure mode recorded for every FAIL.
|
|
24
24
|
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
## How to read this
|
|
12
12
|
|
|
13
|
-
- Scored under the **discrimination criterion** (
|
|
14
|
-
|
|
13
|
+
- Scored under the **discrimination criterion** (`schemaVersion: 2`): a reviewer
|
|
14
|
+
PASSes a fixture iff it raises at least one blocking
|
|
15
15
|
finding on the broken diff **and** strictly fewer on the good diff. Severity
|
|
16
16
|
calibration is not graded. Earlier sweeps (2026-06-18) required zero blocking
|
|
17
17
|
findings on the good diff and are not comparable.
|
|
@@ -163,8 +163,7 @@ neal compat --model <slug> --role all --reference openai-codex --json
|
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
`openai-codex` (gpt-5.5) is the authoritative reference. No OpenRouter model has
|
|
166
|
-
validated as a drop-in reference
|
|
167
|
-
2026-06-18 revision of this file). Throttle to about three concurrent invocations
|
|
166
|
+
validated as a drop-in reference. Throttle to about three concurrent invocations
|
|
168
167
|
for codex capacity.
|
|
169
168
|
|
|
170
169
|
Paid slugs only, never `:free`. Re-run when a slug's backing model version changes.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navels/neal",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "A source-first multi-agent CLI for planning, executing, reviewing, and resuming scoped code changes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@ai-sdk/openai-compatible": "3.0.12",
|
|
59
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
60
|
-
"@openai/codex-sdk": "0.
|
|
59
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.220",
|
|
60
|
+
"@openai/codex-sdk": "0.146.0",
|
|
61
61
|
"ai": "7.0.31",
|
|
62
62
|
"dotenv": "^17.4.2",
|
|
63
63
|
"yaml": "^2.9.0",
|
|
Binary file
|