jonah-fleet 1.35.0 → 1.35.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/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ 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.35.2](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.35.1...v1.35.2) (2026-10-11)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **terminal-card:** refine backlog triage hints for radar digests and needs-attention issues ([#692](https://github.com/Jonah-Projects/jonah-fleet/issues/692)) ([935ef75](https://github.com/Jonah-Projects/jonah-fleet/commit/935ef75a5e4cbd607bc75f0767901f6f6d7927a8))
|
|
14
|
+
|
|
15
|
+
## [Unreleased] - 2026-10-11
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- **terminal-card:** refine backlog triage hints to provide targeted unblock advice for radar digests and `needs-attention` issues instead of generic `needs-human` prompts
|
|
20
|
+
|
|
21
|
+
## [1.35.1](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.35.0...v1.35.1) (2026-10-10)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* **workflows:** omit issue_comment triggers and document quota guard ([#672](https://github.com/Jonah-Projects/jonah-fleet/issues/672)) ([2c27bd1](https://github.com/Jonah-Projects/jonah-fleet/commit/2c27bd19e44508e39a6e0bb68951c5fd32beec96))
|
|
27
|
+
|
|
28
|
+
## [Unreleased] - 2026-10-09
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
* **workflows:** omit unfiltered `issue_comment` triggers from `trigger-review-routine.yml` to conserve Actions runner quota and prevent comment-loop thrash
|
|
33
|
+
|
|
8
34
|
## [1.35.0](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.34.0...v1.35.0) (2026-10-09)
|
|
9
35
|
|
|
10
36
|
|
|
@@ -45,7 +71,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
45
71
|
### Features
|
|
46
72
|
|
|
47
73
|
* **daemon,telemetry:** halt daemon execution when plan quota drops below 20% in either 5h or 7-day windows, with `--full-burn` CLI flag, environment variable, manifest configuration, and interactive hotkey override
|
|
48
|
-
|
|
49
74
|
## [Unreleased] - 2026-10-03
|
|
50
75
|
|
|
51
76
|
### Features
|
package/dist/index.js
CHANGED
|
@@ -3760,7 +3760,33 @@ function renderBacklogDiagnosticCard(report, options) {
|
|
|
3760
3760
|
hints.push("Remove 'needs-info' or 'needs-design' once specifications are clarified.");
|
|
3761
3761
|
}
|
|
3762
3762
|
if (report.gatedHuman && report.gatedHuman.length > 0) {
|
|
3763
|
-
|
|
3763
|
+
const hasRadar = report.gatedHuman.some((item) => {
|
|
3764
|
+
const labels = (item.labels || []).map(
|
|
3765
|
+
(l) => (typeof l === "string" ? l : l.name).toLowerCase()
|
|
3766
|
+
);
|
|
3767
|
+
return isRadarDigestTitle(item.title) || labels.includes("radar");
|
|
3768
|
+
});
|
|
3769
|
+
const hasNeedsAttention = report.gatedHuman.some((item) => {
|
|
3770
|
+
const labels = (item.labels || []).map(
|
|
3771
|
+
(l) => (typeof l === "string" ? l : l.name).toLowerCase()
|
|
3772
|
+
);
|
|
3773
|
+
return labels.includes("needs-attention") && !isRadarDigestTitle(item.title) && !labels.includes("radar");
|
|
3774
|
+
});
|
|
3775
|
+
const hasNeedsHuman = report.gatedHuman.some((item) => {
|
|
3776
|
+
const labels = (item.labels || []).map(
|
|
3777
|
+
(l) => (typeof l === "string" ? l : l.name).toLowerCase()
|
|
3778
|
+
);
|
|
3779
|
+
return labels.includes("needs-human") || !isRadarDigestTitle(item.title) && !labels.includes("radar") && !labels.includes("needs-attention");
|
|
3780
|
+
});
|
|
3781
|
+
if (hasRadar) {
|
|
3782
|
+
hints.push("Triage or close radar digests if no upstream adoption is needed.");
|
|
3783
|
+
}
|
|
3784
|
+
if (hasNeedsAttention) {
|
|
3785
|
+
hints.push("Review issues labeled 'needs-attention' and remove the label once triaged.");
|
|
3786
|
+
}
|
|
3787
|
+
if (hasNeedsHuman) {
|
|
3788
|
+
hints.push("Remove 'needs-human' if autonomous implementation is appropriate.");
|
|
3789
|
+
}
|
|
3764
3790
|
}
|
|
3765
3791
|
if (report.inProgress && report.inProgress.length > 0) {
|
|
3766
3792
|
hints.push("Merge or close open PRs, or unassign human assignees to allow agent pickup.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-card.d.ts","sourceRoot":"","sources":["../../src/lib/terminal-card.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminal-card.d.ts","sourceRoot":"","sources":["../../src/lib/terminal-card.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@ Dispatch is both **scheduled** and **event-driven**. All routines run as ephemer
|
|
|
18
18
|
|
|
19
19
|
- **Scheduled cron sweeps**: Autowork runs periodically (`autowork-cron.yml`), complemented by prompt optimization (`prompt-optimizer-cron.yml`), issues housekeeping (`issues-housekeeping-cron.yml`), dependency security checks (`dependency-check-cron.yml`), analytics review (`analytics-review-cron.yml`), product planning (`product-planning-cron.yml`), and design review (`design-review-cron.yml`).
|
|
20
20
|
- **Event-driven & manual triggers**: GitHub Actions workflows fire routines on events and interactive commands so work starts within seconds instead of waiting for scheduled ticks:
|
|
21
|
-
- `trigger-review-routine.yml` fires Peer Review automatically when a PR is marked ready for review, updated, or review is requested (`ready_for_review`, `opened`, `reopened`, `synchronize`, `review_requested`). It can also be manually (re)triggered via `workflow_dispatch` (with optional `pr_number` for Targeted mode or blank for Scan mode)
|
|
21
|
+
- `trigger-review-routine.yml` fires Peer Review automatically when a PR is marked ready for review, updated, or review is requested (`ready_for_review`, `opened`, `reopened`, `synchronize`, `review_requested`). It can also be manually (re)triggered via `workflow_dispatch` (with optional `pr_number` for Targeted mode or blank for Scan mode). Note: Comment-based triggers are omitted to conserve Actions runner quota and prevent comment-loop thrash.
|
|
22
22
|
- `trigger-autowork-on-merge.yml` fires Autowork in **Targeted mode** when a PR merges to `main` and unblocks the next unit of chained work.
|
|
23
23
|
- `trigger-autowork-on-bug.yml` fires Autowork when an issue becomes a high-priority bug.
|
|
24
24
|
- `trigger-autowork-on-assign.yml` fires Autowork in **Targeted mode** when an issue is assigned to a designated bot account or persona (`vars.AGENT_BOT_LOGIN`).
|
|
@@ -229,8 +229,8 @@ How the fleet guarantees continuous review throughput, recovers from transient A
|
|
|
229
229
|
|
|
230
230
|
1. **Failure Trapping & Transparency**: When a peer-review workflow session encounters an execution failure (e.g. LLM API rate limit / quota exhaustion or runner timeout), `trigger-review-routine.yml` traps the failure and posts an informational status notice on the PR. Failures are made immediately visible on the PR timeline rather than silently failing in the background.
|
|
231
231
|
2. **Periodic Scan Sweep (Watchdog)**: `trigger-review-routine.yml` runs a scheduled 2-hour cron sweep (`cron: '45 */2 * * *'`) in Scan mode. Any open PR in `ready_for_review` state that was orphaned due to a transient API rate limit or missed event trigger is automatically picked up, evaluated, and resolved.
|
|
232
|
-
3. **Interactive Re-triggering**: Any team member or author can immediately re-dispatch review by
|
|
233
|
-
4. **Autowork Phase 1 Watchdog**: During Phase 1 convergence, Autowork actively identifies open ready PRs that have received no review feedback for $>2$ hours, re-triggering review via draft toggle
|
|
232
|
+
3. **Interactive Re-triggering**: Any team member or author can immediately re-dispatch review by manually triggering `trigger-review-routine.yml` via `workflow_dispatch` (with optional `pr_number` for Targeted mode or blank for Scan mode) or by re-requesting review on GitHub. Unfiltered comment triggers are omitted to guard runner quota.
|
|
233
|
+
4. **Autowork Phase 1 Watchdog**: During Phase 1 convergence, Autowork actively identifies open ready PRs that have received no review feedback for $>2$ hours, re-triggering review via draft toggle (`gh pr ready <PR> --undo && gh pr ready <PR>`) before picking up new work. Review re-triggering is strictly conditioned on all CI checks having passed (`conclusion: SUCCESS`, `mergeStateStatus: CLEAN`) and is strictly prohibited if checks are in-progress or awaiting approval (`ACTION_REQUIRED`).
|
|
234
234
|
|
|
235
235
|
---
|
|
236
236
|
|
|
@@ -141,9 +141,9 @@ _Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/ru
|
|
|
141
141
|
- *Option B*: [Pros / Cons]
|
|
142
142
|
- **Recommended Path**: [Agent recommendation]
|
|
143
143
|
```
|
|
144
|
-
3c. **Orphaned Ready PR Recovery**: If an open PR authored by this routine is `ready_for_review`, has passing CI, no unaddressed review comments, and has received no review activity for over 2 hours (e.g. because peer review crashed or encountered quota limits), kickstart the review routine by
|
|
144
|
+
3c. **Orphaned Ready PR Recovery**: If an open PR authored by this routine is `ready_for_review`, has passing CI, no unaddressed review comments, and has received no review activity for over 2 hours (e.g. because peer review crashed or encountered quota limits), kickstart the review routine by toggling draft and ready (`gh pr ready <PR> --undo && gh pr ready <PR>`).
|
|
145
145
|
- **Passing CI Verification Gate**: Verify via `gh pr view <PR> --json statusCheckRollup,mergeStateStatus` that all required and existing checks have completed with `conclusion: "SUCCESS"` and `mergeStateStatus` is `CLEAN` (neither `UNSTABLE`, `BLOCKED`, nor `DIRTY`).
|
|
146
|
-
- **Unapproved/Pending Workflow Invariant**: NEVER
|
|
146
|
+
- **Unapproved/Pending Workflow Invariant**: NEVER toggle draft state if checks are in-progress, failing, or awaiting approval (`conclusion: "ACTION_REQUIRED"`). Doing so creates redundant review triggers while workflows remain paused awaiting human permissions.
|
|
147
147
|
4. **Check open issues with merged PRs / work done — close them**:
|
|
148
148
|
- For open issues, check if recent git history or merged PRs reference the issue (e.g. `git log -n 50 --grep="#<ISSUE_NUMBER>"` or `gh pr list --state merged --search "<ISSUE_NUMBER>" --limit 5`).
|
|
149
149
|
- If a merged PR or commit on `main` resolved the issue, close it immediately:
|
|
@@ -12,8 +12,6 @@ on:
|
|
|
12
12
|
description: 'Optional PR number to review in Targeted mode (leave blank for Scan mode)'
|
|
13
13
|
required: false
|
|
14
14
|
type: string
|
|
15
|
-
issue_comment:
|
|
16
|
-
types: [created]
|
|
17
15
|
|
|
18
16
|
jobs:
|
|
19
17
|
trigger-routine:
|
|
@@ -23,21 +21,9 @@ jobs:
|
|
|
23
21
|
github.event.pull_request.head.repo.full_name == github.repository &&
|
|
24
22
|
!startsWith(github.event.pull_request.head.ref, 'release-please--')) ||
|
|
25
23
|
(github.event_name == 'schedule') ||
|
|
26
|
-
(github.event_name == 'workflow_dispatch')
|
|
27
|
-
(github.event_name == 'issue_comment' &&
|
|
28
|
-
github.event.issue.pull_request != null &&
|
|
29
|
-
!endsWith(github.event.comment.user.login, '[bot]') &&
|
|
30
|
-
github.event.comment.user.type != 'Bot' &&
|
|
31
|
-
(startsWith(github.event.comment.body, '/review') ||
|
|
32
|
-
startsWith(github.event.comment.body, '/peer-review') ||
|
|
33
|
-
startsWith(github.event.comment.body, '/retrigger') ||
|
|
34
|
-
startsWith(github.event.comment.body, '/re-review') ||
|
|
35
|
-
contains(github.event.comment.body, '/review') ||
|
|
36
|
-
contains(github.event.comment.body, '/peer-review') ||
|
|
37
|
-
contains(github.event.comment.body, '/retrigger') ||
|
|
38
|
-
contains(github.event.comment.body, '/re-review')))
|
|
24
|
+
(github.event_name == 'workflow_dispatch')
|
|
39
25
|
concurrency:
|
|
40
|
-
group: review-routine-pr-${{ github.event.pull_request.number ||
|
|
26
|
+
group: review-routine-pr-${{ github.event.pull_request.number || inputs.pr_number || 'scan' }}
|
|
41
27
|
cancel-in-progress: true
|
|
42
28
|
runs-on: ubuntu-latest
|
|
43
29
|
timeout-minutes: 65
|
|
@@ -52,7 +38,7 @@ jobs:
|
|
|
52
38
|
id: guard
|
|
53
39
|
env:
|
|
54
40
|
GH_TOKEN: ${{ github.token }}
|
|
55
|
-
PR_NUM: ${{ github.event.pull_request.number ||
|
|
41
|
+
PR_NUM: ${{ github.event.pull_request.number || inputs.pr_number }}
|
|
56
42
|
EVENT_NAME: ${{ github.event_name }}
|
|
57
43
|
REPOSITORY: ${{ github.repository }}
|
|
58
44
|
run: |
|
|
@@ -232,7 +218,7 @@ jobs:
|
|
|
232
218
|
id: run-issue
|
|
233
219
|
env:
|
|
234
220
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
235
|
-
PR_ARG: ${{ github.event.pull_request.number ||
|
|
221
|
+
PR_ARG: ${{ github.event.pull_request.number || inputs.pr_number }}
|
|
236
222
|
EVENT_NAME: ${{ github.event_name }}
|
|
237
223
|
RUN_ID: ${{ github.run_id }}
|
|
238
224
|
SERVER_URL: ${{ github.server_url }}
|
|
@@ -275,8 +261,8 @@ jobs:
|
|
|
275
261
|
ANTIGRAVITY_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
276
262
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
277
263
|
ROUTINE: peer-review
|
|
278
|
-
PR_NUMBER: ${{ github.event.pull_request.number ||
|
|
279
|
-
PR_URL: ${{ github.event.pull_request.html_url
|
|
264
|
+
PR_NUMBER: ${{ github.event.pull_request.number || inputs.pr_number }}
|
|
265
|
+
PR_URL: ${{ github.event.pull_request.html_url }}
|
|
280
266
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
281
267
|
MODEL: ${{ steps.routine-config.outputs.model || 'gemini-3.8-flash-high' }}
|
|
282
268
|
PRINT_TIMEOUT: ${{ steps.routine-config.outputs.print_timeout || '55m' }}
|
|
@@ -322,7 +308,7 @@ jobs:
|
|
|
322
308
|
if: failure() && steps.guard.outputs.skip != 'true'
|
|
323
309
|
env:
|
|
324
310
|
GH_TOKEN: ${{ secrets.GH_PAT || github.token }}
|
|
325
|
-
PR_NUMBER: ${{ github.event.pull_request.number ||
|
|
311
|
+
PR_NUMBER: ${{ github.event.pull_request.number || inputs.pr_number }}
|
|
326
312
|
ROUTINE_ISSUE_NUMBER: ${{ steps.run-issue.outputs.issue_number }}
|
|
327
313
|
GITHUB_SERVER_URL: ${{ github.server_url }}
|
|
328
314
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
|
@@ -333,7 +319,7 @@ jobs:
|
|
|
333
319
|
if [ -n "$ROUTINE_ISSUE_NUMBER" ]; then
|
|
334
320
|
LOG_REF=" · [Run Log #${ROUTINE_ISSUE_NUMBER}](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/issues/${ROUTINE_ISSUE_NUMBER})"
|
|
335
321
|
fi
|
|
336
|
-
gh pr comment "$PR_NUMBER" --body "⚠️ **Peer Review Routine Notice**: The automated review session encountered an execution error (e.g., API rate/quota limit or runner interruption)${LOG_REF}. The review will be retried automatically on the next scheduled scan sweep or can be re-triggered
|
|
322
|
+
gh pr comment "$PR_NUMBER" --body "⚠️ **Peer Review Routine Notice**: The automated review session encountered an execution error (e.g., API rate/quota limit or runner interruption)${LOG_REF}. The review will be retried automatically on the next scheduled scan sweep or can be re-triggered manually via workflow dispatch on this PR.
|
|
337
323
|
|
|
338
324
|
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
339
325
|
fi
|
|
@@ -376,7 +362,7 @@ jobs:
|
|
|
376
362
|
RUN_ID: ${{ github.run_id }}
|
|
377
363
|
SERVER_URL: ${{ github.server_url }}
|
|
378
364
|
REPOSITORY: ${{ github.repository }}
|
|
379
|
-
PR_NUMBER: ${{ github.event.pull_request.number ||
|
|
365
|
+
PR_NUMBER: ${{ github.event.pull_request.number || inputs.pr_number }}
|
|
380
366
|
QUOTA_PAUSED: ${{ env.QUOTA_PAUSED }}
|
|
381
367
|
QUOTA_RESET_INFO: ${{ env.QUOTA_RESET_INFO }}
|
|
382
368
|
run: |
|