jonah-fleet 1.30.2 → 1.30.4
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 +20 -0
- package/dist/index.js +30 -5
- package/dist/lib/runner.d.ts +1 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/prompts/design-review.md +9 -1
- package/templates/workflows/analytics-review-cron.yml +3 -3
- package/templates/workflows/autowork-cron.yml +3 -3
- package/templates/workflows/dependency-check-cron.yml +3 -3
- package/templates/workflows/design-review-cron.yml +3 -3
- package/templates/workflows/issues-housekeeping-cron.yml +3 -3
- package/templates/workflows/prompt-optimizer-cron.yml +3 -3
- package/templates/workflows/trigger-autowork-manual.yml +3 -3
- package/templates/workflows/trigger-autowork-on-assign.yml +3 -3
- package/templates/workflows/trigger-autowork-on-bug.yml +3 -3
- package/templates/workflows/trigger-autowork-on-merge.yml +3 -3
- package/templates/workflows/trigger-review-routine.yml +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,26 @@ 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.30.4](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.30.3...v1.30.4) (2026-10-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **prompts:** enforce explicit dev server teardown in design-review prompt ([#520](https://github.com/Jonah-Projects/jonah-fleet/issues/520)) ([cc9b761](https://github.com/Jonah-Projects/jonah-fleet/commit/cc9b761199d11f70e3264057958837a35965c942))
|
|
14
|
+
|
|
15
|
+
## [1.30.3](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.30.2...v1.30.3) (2026-10-01)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **workflows:** mark quota-paused runs as failed and keep routine issues open ([#523](https://github.com/Jonah-Projects/jonah-fleet/issues/523)) ([3115bf8](https://github.com/Jonah-Projects/jonah-fleet/commit/3115bf856f3efa261b29ec33af4e3493e87e4be2))
|
|
21
|
+
|
|
22
|
+
## [Unreleased] - 2026-10-01
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* **workflows:** mark quota-paused workflow runs as failed (`exit 1`) with an error annotation and keep routine issues open with `status:quota-paused` instead of falsely reporting success
|
|
27
|
+
|
|
8
28
|
## [1.30.2](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.30.1...v1.30.2) (2026-09-30)
|
|
9
29
|
|
|
10
30
|
|
package/dist/index.js
CHANGED
|
@@ -4471,10 +4471,6 @@ _Generated by Jonah Fleet local runner on ${hostname}._`;
|
|
|
4471
4471
|
cwd,
|
|
4472
4472
|
stdio: ["ignore", "ignore", "ignore"]
|
|
4473
4473
|
});
|
|
4474
|
-
execSync2(`gh issue close ${issueNumber} --reason completed`, {
|
|
4475
|
-
cwd,
|
|
4476
|
-
stdio: ["ignore", "ignore", "ignore"]
|
|
4477
|
-
});
|
|
4478
4474
|
} finally {
|
|
4479
4475
|
if (fs13.existsSync(tmpFile2)) {
|
|
4480
4476
|
fs13.unlinkSync(tmpFile2);
|
|
@@ -4543,8 +4539,37 @@ async function tryMarkLocalRunInterruptedAsync(cwd, issueNumber, hostname, reaso
|
|
|
4543
4539
|
return false;
|
|
4544
4540
|
}
|
|
4545
4541
|
}
|
|
4546
|
-
async function tryReconcileLocalRunIssueAsync(cwd, issueNumber, reportContent, exitCode, hostname, routine) {
|
|
4542
|
+
async function tryReconcileLocalRunIssueAsync(cwd, issueNumber, reportContent, exitCode, hostname, routine, quotaInfo) {
|
|
4547
4543
|
try {
|
|
4544
|
+
if (quotaInfo?.isQuota) {
|
|
4545
|
+
const resetStr = quotaInfo.resetInfo || "Resets in future window";
|
|
4546
|
+
const quotaCard = [
|
|
4547
|
+
`### \u23F8\uFE0F Milestone: Routine Execution Quota-Paused`,
|
|
4548
|
+
`- **Routine**: \`${routine || "local-routine"}\``,
|
|
4549
|
+
`- **Status**: LLM quota reached (\`${resetStr}\`)`,
|
|
4550
|
+
`- **Runner**: \`local (${hostname})\``,
|
|
4551
|
+
`- **Next Action**: Routine execution paused cleanly. Work will resume on next sweep after quota resets.`
|
|
4552
|
+
].join("\n");
|
|
4553
|
+
await tryPostLocalRunMilestoneAsync(cwd, issueNumber, quotaCard);
|
|
4554
|
+
const finalBody2 = `${reportContent}
|
|
4555
|
+
|
|
4556
|
+
---
|
|
4557
|
+
_Generated by Jonah Fleet local runner on ${hostname}._`;
|
|
4558
|
+
const tmpFile2 = path13.join(os2.tmpdir(), `jonah-fleet-run-${issueNumber}-${Date.now()}.md`);
|
|
4559
|
+
await fs13.promises.writeFile(tmpFile2, finalBody2, "utf8");
|
|
4560
|
+
try {
|
|
4561
|
+
await execFileAsync4("gh", ["issue", "edit", String(issueNumber), "--body-file", tmpFile2], { cwd });
|
|
4562
|
+
await execFileAsync4("gh", ["issue", "edit", String(issueNumber), "--add-label", "status:quota-paused", "--remove-label", "status:running"], { cwd });
|
|
4563
|
+
return true;
|
|
4564
|
+
} finally {
|
|
4565
|
+
try {
|
|
4566
|
+
if (fs13.existsSync(tmpFile2)) {
|
|
4567
|
+
await fs13.promises.unlink(tmpFile2);
|
|
4568
|
+
}
|
|
4569
|
+
} catch {
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4572
|
+
}
|
|
4548
4573
|
if (exitCode !== 0) {
|
|
4549
4574
|
const interruptionCard = formatInterruptionCard({
|
|
4550
4575
|
routine: routine || "local-routine",
|
package/dist/lib/runner.d.ts
CHANGED
|
@@ -183,7 +183,7 @@ export declare function tryMarkLocalRunInterruptedAsync(cwd: string, issueNumber
|
|
|
183
183
|
* Closes the issue if success, leaves it open with needs-attention if failure.
|
|
184
184
|
* Fails gracefully if offline or unauthenticated.
|
|
185
185
|
*/
|
|
186
|
-
export declare function tryReconcileLocalRunIssueAsync(cwd: string, issueNumber: number, reportContent: string, exitCode: number, hostname: string, routine?: string): Promise<boolean>;
|
|
186
|
+
export declare function tryReconcileLocalRunIssueAsync(cwd: string, issueNumber: number, reportContent: string, exitCode: number, hostname: string, routine?: string, quotaInfo?: QuotaDetectionResult): Promise<boolean>;
|
|
187
187
|
/**
|
|
188
188
|
* Reads a freshly generated run report from execution or target directory.
|
|
189
189
|
* Returns null if no fresh report exists (e.g. file missing or older than run start).
|
package/dist/lib/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -87,7 +87,15 @@ For the surfaces being audited:
|
|
|
87
87
|
- **Viewport Density & Nudge Budget**: On mobile (390px), do sticky headers, promotional banners, and teasers crowd the viewport above the fold? Enforce: max 1 banner/nudge visible concurrently.
|
|
88
88
|
- **Visual Hierarchy & Clutter**: Are cards nested redundantly? Is there visual noise from excessive borders, conflicting accents, or dense text blocks?
|
|
89
89
|
- **Touch Targets & Spacing**: Are tap targets at least 44x44px? Is whitespace rhythmic and intentional?
|
|
90
|
-
4.
|
|
90
|
+
4. **Clean Dev Server Teardown (CRITICAL)**:
|
|
91
|
+
- Terminate the dev server process immediately after captures complete.
|
|
92
|
+
- If spawned as a background process or subshell, kill it explicitly:
|
|
93
|
+
```bash
|
|
94
|
+
npx --yes kill-port 3000 2>/dev/null || fuser -k 3000/tcp 2>/dev/null || true
|
|
95
|
+
pkill -f "next dev" 2>/dev/null || true
|
|
96
|
+
```
|
|
97
|
+
- If launched via agent background task manager (`run_command`), explicitly call `manage_task(Action='kill')` on the task ID before ending the turn.
|
|
98
|
+
- In headless CLI sessions (`agy -p`), unkilled background tasks cause the CLI to wait indefinitely until the `--print-timeout` expires, causing step timeouts.
|
|
91
99
|
|
|
92
100
|
### Step 4: Telemetry & Friction Cross-Reference
|
|
93
101
|
|
|
@@ -310,9 +310,9 @@ jobs:
|
|
|
310
310
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
311
311
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
312
312
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
313
|
-
|
|
314
|
-
echo "
|
|
315
|
-
exit
|
|
313
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
314
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
315
|
+
exit 1
|
|
316
316
|
fi
|
|
317
317
|
|
|
318
318
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -341,9 +341,9 @@ jobs:
|
|
|
341
341
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
342
342
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
343
343
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
344
|
-
|
|
345
|
-
echo "
|
|
346
|
-
exit
|
|
344
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
345
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
346
|
+
exit 1
|
|
347
347
|
fi
|
|
348
348
|
|
|
349
349
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -256,9 +256,9 @@ jobs:
|
|
|
256
256
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
257
257
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
258
258
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
259
|
-
|
|
260
|
-
echo "
|
|
261
|
-
exit
|
|
259
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
260
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
261
|
+
exit 1
|
|
262
262
|
fi
|
|
263
263
|
|
|
264
264
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -255,9 +255,9 @@ jobs:
|
|
|
255
255
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
256
256
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
257
257
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
258
|
-
|
|
259
|
-
echo "
|
|
260
|
-
exit
|
|
258
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
259
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
260
|
+
exit 1
|
|
261
261
|
fi
|
|
262
262
|
|
|
263
263
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -256,9 +256,9 @@ jobs:
|
|
|
256
256
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
257
257
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
258
258
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
259
|
-
|
|
260
|
-
echo "
|
|
261
|
-
exit
|
|
259
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
260
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
261
|
+
exit 1
|
|
262
262
|
fi
|
|
263
263
|
|
|
264
264
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -270,9 +270,9 @@ jobs:
|
|
|
270
270
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
271
271
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
272
272
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
273
|
-
|
|
274
|
-
echo "
|
|
275
|
-
exit
|
|
273
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
274
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
275
|
+
exit 1
|
|
276
276
|
fi
|
|
277
277
|
|
|
278
278
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -339,9 +339,9 @@ jobs:
|
|
|
339
339
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
340
340
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
341
341
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
342
|
-
|
|
343
|
-
echo "
|
|
344
|
-
exit
|
|
342
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
343
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
344
|
+
exit 1
|
|
345
345
|
fi
|
|
346
346
|
|
|
347
347
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -300,9 +300,9 @@ jobs:
|
|
|
300
300
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
301
301
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
302
302
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
303
|
-
|
|
304
|
-
echo "
|
|
305
|
-
exit
|
|
303
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
304
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
305
|
+
exit 1
|
|
306
306
|
fi
|
|
307
307
|
|
|
308
308
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -296,9 +296,9 @@ jobs:
|
|
|
296
296
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
297
297
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
298
298
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
299
|
-
|
|
300
|
-
echo "
|
|
301
|
-
exit
|
|
299
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
300
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
301
|
+
exit 1
|
|
302
302
|
fi
|
|
303
303
|
|
|
304
304
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -326,9 +326,9 @@ jobs:
|
|
|
326
326
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
327
327
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
328
328
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
329
|
-
|
|
330
|
-
echo "
|
|
331
|
-
exit
|
|
329
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
330
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
331
|
+
exit 1
|
|
332
332
|
fi
|
|
333
333
|
|
|
334
334
|
REPORT_FILE=".jonah-fleet/run-report.md"
|
|
@@ -404,7 +404,6 @@ jobs:
|
|
|
404
404
|
"_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_")
|
|
405
405
|
gh issue comment "$ISSUE_NUMBER" --body "$PAUSE_COMMENT" || true
|
|
406
406
|
gh issue edit "$ISSUE_NUMBER" --add-label "status:quota-paused" --remove-label "status:running"
|
|
407
|
-
gh issue close "$ISSUE_NUMBER" --reason completed
|
|
408
407
|
|
|
409
408
|
if [ -n "$PR_NUMBER" ]; then
|
|
410
409
|
gh pr comment "$PR_NUMBER" --body "⏸️ **Peer Review Routine Notice**: LLM quota was reached (${RESET_STR}). The automated review has paused gracefully and will resume automatically on the next scheduled scan sweep once the quota window resets.
|
|
@@ -413,8 +412,9 @@ jobs:
|
|
|
413
412
|
_Generated by [Antigravity](${SERVER_URL}/${REPOSITORY}/actions/runs/${RUN_ID})_" || true
|
|
414
413
|
fi
|
|
415
414
|
|
|
416
|
-
echo "⏸️ Routine run issue #$ISSUE_NUMBER
|
|
417
|
-
|
|
415
|
+
echo "⏸️ Routine run issue #$ISSUE_NUMBER marked with status:quota-paused (kept open)."
|
|
416
|
+
echo "::error::Routine execution quota-paused (${RESET_STR})"
|
|
417
|
+
exit 1
|
|
418
418
|
fi
|
|
419
419
|
|
|
420
420
|
REPORT_FILE=".jonah-fleet/run-report.md"
|