jonah-fleet 1.17.0 → 1.18.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 +8 -0
- package/package.json +1 -1
- package/templates/workflows/analytics-review-cron.yml +3 -1
- package/templates/workflows/autowork-cron.yml +3 -1
- package/templates/workflows/dependency-check-cron.yml +3 -1
- package/templates/workflows/design-review-cron.yml +3 -1
- package/templates/workflows/issues-housekeeping-cron.yml +3 -1
- package/templates/workflows/prompt-optimizer-cron.yml +3 -1
- package/templates/workflows/trigger-autowork-manual.yml +3 -1
- package/templates/workflows/trigger-autowork-on-bug.yml +3 -1
- package/templates/workflows/trigger-autowork-on-merge.yml +3 -1
- package/templates/workflows/trigger-review-routine.yml +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to `jonah-fleet` will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.18.0](https://github.com/juliendurandeu/jonah-fleet/compare/v1.17.0...v1.18.0) (2026-09-20)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **guard:** update routine GitHub Actions workflows to execute via run-with-loop-guard wrapper ([#227](https://github.com/juliendurandeu/jonah-fleet/issues/227)) ([#277](https://github.com/juliendurandeu/jonah-fleet/issues/277)) ([496ce8c](https://github.com/juliendurandeu/jonah-fleet/commit/496ce8c0c56ddcfd8ac09e530fb4bdaee9c934c9))
|
|
14
|
+
|
|
8
15
|
## [1.17.0](https://github.com/juliendurandeu/jonah-fleet/compare/v1.16.0...v1.17.0) (2026-09-19)
|
|
9
16
|
|
|
10
17
|
|
|
@@ -16,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
16
23
|
|
|
17
24
|
### Features
|
|
18
25
|
|
|
26
|
+
* **guard:** execute routine GitHub Actions workflows via run-with-loop-guard wrapper script ([#227](https://github.com/juliendurandeu/jonah-fleet/issues/227))
|
|
19
27
|
* **orchestration:** adopt 4-part human escalation card in peer-review routine on round-5 escalation ([#235](https://github.com/juliendurandeu/jonah-fleet/issues/235))
|
|
20
28
|
* **orchestration:** add Routine Run Failure Ingestion & Auto-Closure Protocol to `ORCHESTRATION.md`, unifying prior failure memory and resolution lifecycle across `autowork` and `peer-review`.
|
|
21
29
|
* **prompts:** add Dynamic Target Binding in Scan mode to `autowork.md` and `peer-review.md`, dynamically updating `$ROUTINE_ISSUE_NUMBER` titles with `(Issue #N)` or `(PR #M)` upon claiming so crashed runs are never anonymous.
|
package/package.json
CHANGED
|
@@ -161,6 +161,7 @@ jobs:
|
|
|
161
161
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
162
162
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
163
163
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
164
|
+
ROUTINE: analytics-review
|
|
164
165
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
165
166
|
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
|
|
166
167
|
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
@@ -174,7 +175,8 @@ jobs:
|
|
|
174
175
|
PROMPT="You are the Analytics Review routine for this repository. Read and follow the instructions in .github/prompts/analytics-review.md exactly. ${SKILLS_PROMPT}"
|
|
175
176
|
|
|
176
177
|
set +e
|
|
177
|
-
|
|
178
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
179
|
+
-p "$PROMPT" \
|
|
178
180
|
--model "$MODEL" \
|
|
179
181
|
--output-format text \
|
|
180
182
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -183,6 +183,7 @@ jobs:
|
|
|
183
183
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
184
184
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
185
185
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
186
|
+
ROUTINE: autowork
|
|
186
187
|
TARGET_ISSUE: ${{ inputs.target_issue || inputs.issue_number }}
|
|
187
188
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
188
189
|
SKILLS_PROMPT: ${{ steps.skills.outputs.skills_prompt }}
|
|
@@ -199,7 +200,8 @@ jobs:
|
|
|
199
200
|
fi
|
|
200
201
|
|
|
201
202
|
set +e
|
|
202
|
-
|
|
203
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
204
|
+
-p "$PROMPT" \
|
|
203
205
|
--model "$MODEL" \
|
|
204
206
|
--output-format text \
|
|
205
207
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -139,6 +139,7 @@ jobs:
|
|
|
139
139
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
140
140
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
141
141
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
142
|
+
ROUTINE: dependency-update-security-check
|
|
142
143
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
143
144
|
MODEL: ${{ steps.routine-config.outputs.model || 'gemini-3.8-flash-medium' }}
|
|
144
145
|
PRINT_TIMEOUT: ${{ steps.routine-config.outputs.print_timeout || '25m' }}
|
|
@@ -149,7 +150,8 @@ jobs:
|
|
|
149
150
|
PROMPT="You are the Dependency Update & Security Check routine. Read and follow .github/prompts/dependency-update-security-check.md exactly. Check dependencies for updates and vulnerabilities, and create or update tracking issues."
|
|
150
151
|
|
|
151
152
|
set +e
|
|
152
|
-
|
|
153
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
154
|
+
-p "$PROMPT" \
|
|
153
155
|
--model "$MODEL" \
|
|
154
156
|
--output-format text \
|
|
155
157
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -126,6 +126,7 @@ jobs:
|
|
|
126
126
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
127
127
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
128
128
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
129
|
+
ROUTINE: design-review
|
|
129
130
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
130
131
|
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
|
|
131
132
|
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
@@ -138,7 +139,8 @@ jobs:
|
|
|
138
139
|
PROMPT="You are the Design Review routine for this repository. Read and follow the instructions in .github/prompts/design-review.md exactly. ${SKILLS_PROMPT}"
|
|
139
140
|
|
|
140
141
|
set +e
|
|
141
|
-
|
|
142
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
143
|
+
-p "$PROMPT" \
|
|
142
144
|
--model gemini-3.8-flash-high \
|
|
143
145
|
--output-format text \
|
|
144
146
|
--print-timeout 50m \
|
|
@@ -139,6 +139,7 @@ jobs:
|
|
|
139
139
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
140
140
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
141
141
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
142
|
+
ROUTINE: issues-housekeeping
|
|
142
143
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
143
144
|
MODEL: ${{ steps.routine-config.outputs.model || 'gemini-3.8-flash-medium' }}
|
|
144
145
|
PRINT_TIMEOUT: ${{ steps.routine-config.outputs.print_timeout || '40m' }}
|
|
@@ -149,7 +150,8 @@ jobs:
|
|
|
149
150
|
PROMPT="You are the Issues Housekeeping routine for this repository. Read and follow .github/prompts/issues-housekeeping.md exactly. Sweep open issues for staleness, duplicates, priority accuracy, and orphaned claims."
|
|
150
151
|
|
|
151
152
|
set +e
|
|
152
|
-
|
|
153
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
154
|
+
-p "$PROMPT" \
|
|
153
155
|
--model "$MODEL" \
|
|
154
156
|
--output-format text \
|
|
155
157
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -139,6 +139,7 @@ jobs:
|
|
|
139
139
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
140
140
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
141
141
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
142
|
+
ROUTINE: optimizer
|
|
142
143
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
143
144
|
MODEL: ${{ steps.routine-config.outputs.model || 'gemini-3.8-flash-high' }}
|
|
144
145
|
PRINT_TIMEOUT: ${{ steps.routine-config.outputs.print_timeout || '35m' }}
|
|
@@ -149,7 +150,8 @@ jobs:
|
|
|
149
150
|
PROMPT="You are the Prompt Optimizer routine for this repository. Read and follow .github/prompts/optimizer.md exactly. Diagnose failures, token anomalies, and review loops, and propose preventative prompt and test fixes."
|
|
150
151
|
|
|
151
152
|
set +e
|
|
152
|
-
|
|
153
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
154
|
+
-p "$PROMPT" \
|
|
153
155
|
--model "$MODEL" \
|
|
154
156
|
--output-format text \
|
|
155
157
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -188,6 +188,7 @@ jobs:
|
|
|
188
188
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
189
189
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
190
190
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
191
|
+
ROUTINE: autowork
|
|
191
192
|
TARGET_ISSUE: ${{ inputs.issue_number }}
|
|
192
193
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
193
194
|
MODE: ${{ inputs.mode || 'targeted' }}
|
|
@@ -210,7 +211,8 @@ jobs:
|
|
|
210
211
|
fi
|
|
211
212
|
|
|
212
213
|
set +e
|
|
213
|
-
|
|
214
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
215
|
+
-p "$PROMPT" \
|
|
214
216
|
--model "$MODEL" \
|
|
215
217
|
--output-format text \
|
|
216
218
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -155,6 +155,7 @@ jobs:
|
|
|
155
155
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
156
156
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
157
157
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
158
|
+
ROUTINE: autowork
|
|
158
159
|
TARGET_ISSUE: ${{ github.event.issue.number }}
|
|
159
160
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
160
161
|
SKILLS_PROMPT: ${{ steps.skills.outputs.skills_prompt }}
|
|
@@ -167,7 +168,8 @@ jobs:
|
|
|
167
168
|
PROMPT="You are the Autowork routine for this repository. A high-priority bug was filed. Read and follow .github/prompts/autowork.md. ${SKILLS_PROMPT} Your target is issue #${TARGET_ISSUE}. You are in Targeted mode: work issue #${TARGET_ISSUE} directly."
|
|
168
169
|
|
|
169
170
|
set +e
|
|
170
|
-
|
|
171
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
172
|
+
-p "$PROMPT" \
|
|
171
173
|
--model "$MODEL" \
|
|
172
174
|
--output-format text \
|
|
173
175
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -186,6 +186,7 @@ jobs:
|
|
|
186
186
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
187
187
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
188
188
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
189
|
+
ROUTINE: autowork
|
|
189
190
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
190
191
|
SKILLS_PROMPT: ${{ steps.skills.outputs.skills_prompt }}
|
|
191
192
|
MODEL: ${{ steps.routine-config.outputs.model || 'gemini-3.8-flash-high' }}
|
|
@@ -197,7 +198,8 @@ jobs:
|
|
|
197
198
|
PROMPT="You are the Autowork routine for this repository. A PR was recently merged. Read and follow .github/prompts/autowork.md. ${SKILLS_PROMPT} You are in Scan mode: converge on open PRs, close merged issues, and pick the next unblocked priority issue."
|
|
198
199
|
|
|
199
200
|
set +e
|
|
200
|
-
|
|
201
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
202
|
+
-p "$PROMPT" \
|
|
201
203
|
--model "$MODEL" \
|
|
202
204
|
--output-format text \
|
|
203
205
|
--print-timeout "$PRINT_TIMEOUT" \
|
|
@@ -252,6 +252,7 @@ jobs:
|
|
|
252
252
|
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
253
253
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
254
254
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
255
|
+
ROUTINE: peer-review
|
|
255
256
|
PR_NUMBER: ${{ github.event.pull_request.number || github.event.issue.number || inputs.pr_number }}
|
|
256
257
|
PR_URL: ${{ github.event.pull_request.html_url || github.event.issue.html_url }}
|
|
257
258
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
@@ -275,7 +276,8 @@ jobs:
|
|
|
275
276
|
fi
|
|
276
277
|
|
|
277
278
|
set +e
|
|
278
|
-
|
|
279
|
+
node .github/scripts/run-with-loop-guard.js \
|
|
280
|
+
-p "$PROMPT" \
|
|
279
281
|
--model "$MODEL" \
|
|
280
282
|
--output-format text \
|
|
281
283
|
--print-timeout "$PRINT_TIMEOUT" \
|