@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/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:
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentskit/harness",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Portable, evidence-backed development harness for coding agents.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,7 +2,7 @@
2
2
  "type": "agentskit-harness-release-manifest",
3
3
  "schemaVersion": 1,
4
4
  "package": "@agentskit/harness",
5
- "version": "0.7.0",
5
+ "version": "0.8.0",
6
6
  "channel": "latest",
7
7
  "sourceRevision": "b8cfe596e5f30f2c373b89f00f271079b296feaf",
8
8
  "requiredChecks": [
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).