@agentskit/harness 0.7.0 → 0.8.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/CHANGELOG.md +4 -0
- package/capabilities/public-surface.json +80 -77
- package/dist/cli.js +144 -14
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +37 -3
- package/dist/index.js +145 -15
- package/dist/index.js.map +1 -1
- package/docs/LOOP.md +19 -0
- package/loop.config.example.yaml +1 -0
- package/package.json +1 -1
- package/release/manifest.json +1 -1
- package/release/notes.md +4 -0
package/docs/LOOP.md
CHANGED
|
@@ -84,6 +84,25 @@ Optional SessionStart hook for Claude Code (`.claude/settings.json` of the targe
|
|
|
84
84
|
|
|
85
85
|
It prints `loop: installed (2/2, last run …)` or the install command; it never installs or changes anything.
|
|
86
86
|
|
|
87
|
+
## Worker handoff
|
|
88
|
+
|
|
89
|
+
When a worker goes idle past `delivery.workerIdleTimeoutMin` (or its terminal disappears) **and** its provider is unavailable (exhausted usage, cooldown, missing binary), deliver does **not** immediately mark the issue stuck. Instead it:
|
|
90
|
+
|
|
91
|
+
1. Picks the next available builder via the current routing mode (catalog/hybrid/…)
|
|
92
|
+
2. Opens a **new terminal in the same worktree** (same Orca branch)
|
|
93
|
+
3. Sends a continuation brief (`renderHandoffBrief`) — resume from `git status` / existing commits; do not recreate the branch
|
|
94
|
+
4. Updates `dispatch.json` (`terminal`, `provider`, `model`) and appends `delivery.handoffs[]`
|
|
95
|
+
|
|
96
|
+
Config (`delivery.handoff`, enabled by default):
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
delivery:
|
|
100
|
+
handoff:
|
|
101
|
+
enabled: true
|
|
102
|
+
maxHandoffs: 2
|
|
103
|
+
onlyWhenProviderUnavailable: true
|
|
104
|
+
```
|
|
105
|
+
|
|
87
106
|
## Deliver
|
|
88
107
|
|
|
89
108
|
For every issue the loop dispatched (`<stateDir>/issues/<id>/dispatch.json`) and has not finished:
|
package/loop.config.example.yaml
CHANGED
|
@@ -112,6 +112,7 @@ delivery:
|
|
|
112
112
|
requireChecks: true
|
|
113
113
|
maxFixRounds: 2
|
|
114
114
|
workerIdleTimeoutMin: 45
|
|
115
|
+
handoff: { enabled: true, maxHandoffs: 2, onlyWhenProviderUnavailable: true }
|
|
115
116
|
selfEditPaths: [loop.config.yaml, ".github/**"] # PRs touching these never auto-merge
|
|
116
117
|
ignoreChecks: [] # advisory check names that never block
|
|
117
118
|
requiredChecks: [] # empty = every reported check must be green
|
package/package.json
CHANGED
package/release/manifest.json
CHANGED
package/release/notes.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# 0.8.0 release candidate
|
|
2
|
+
|
|
3
|
+
Worker handoff: continue in-flight tickets on the same Orca worktree/branch with another provider when usage runs out.
|
|
4
|
+
|
|
1
5
|
# 0.7.0 release candidate
|
|
2
6
|
|
|
3
7
|
Dynamic Orca-aware model routing (hybrid/dynamic/catalog) with remaining-usage ranking and a living model catalog (CLI + builtin + optional Artificial Analysis).
|