jonah-fleet 1.4.2 → 1.6.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 CHANGED
@@ -5,12 +5,107 @@ 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.6.0](https://github.com/juliendurandeu/jonah-fleet/compare/jonah-fleet-v1.5.0...jonah-fleet-v1.6.0) (2026-09-08)
9
+
10
+
11
+ ### Features
12
+
13
+ * **autowork:** single-flight PR claim protocol in Phase 1 convergence ([#59](https://github.com/juliendurandeu/jonah-fleet/issues/59)) ([991e3f6](https://github.com/juliendurandeu/jonah-fleet/commit/991e3f6d3848bbb8dda7e6b8667533dc0ffef56d))
14
+ * **daemon:** display target PR/issue ID & title and wrap terminal card lines without cropping ([#60](https://github.com/juliendurandeu/jonah-fleet/issues/60)) ([43a3abb](https://github.com/juliendurandeu/jonah-fleet/commit/43a3abb51f86b5f0368ea2fdfc0f26e38f833ab9))
15
+ * **daemon:** drain reviewable PR backlog before moving to autowork ([#62](https://github.com/juliendurandeu/jonah-fleet/issues/62)) ([eeb9d57](https://github.com/juliendurandeu/jonah-fleet/commit/eeb9d57e5df4d00fa0b9f824ff231b7df9625386))
16
+ * **evals:** add fleet ambiguity telemetry, optimizer anomaly heuristics, and automated benchmark evals ([#68](https://github.com/juliendurandeu/jonah-fleet/issues/68)) ([a377ea5](https://github.com/juliendurandeu/jonah-fleet/commit/a377ea5ffd0ff21898a8f921f8738fa2b886448c))
17
+ * **prompts:** enforce log delivery protocol with [skip ci] and branch invariants ([#74](https://github.com/juliendurandeu/jonah-fleet/issues/74)) ([23b033f](https://github.com/juliendurandeu/jonah-fleet/commit/23b033fc06aaa2ed5cca292be16f6db70a194465))
18
+ * **prompts:** guard orphaned ready PR recovery against unstable and unapproved CI ([#75](https://github.com/juliendurandeu/jonah-fleet/issues/75)) ([8a0868b](https://github.com/juliendurandeu/jonah-fleet/commit/8a0868bde2ceab909b9bc01a30046818947a0f3a))
19
+ * **workflow:** authenticate checkout with GH_PAT token in autowork workflows ([#73](https://github.com/juliendurandeu/jonah-fleet/issues/73)) ([7a276a6](https://github.com/juliendurandeu/jonah-fleet/commit/7a276a60cc3dc3f1f31514efd657a0f714fa12cf))
20
+ * **workflow:** automate run log delivery to main with [skip ci] ([#72](https://github.com/juliendurandeu/jonah-fleet/issues/72)) ([0dc1b3b](https://github.com/juliendurandeu/jonah-fleet/commit/0dc1b3b8bbe626fbce0f5d73fa67e98df165339f))
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **ci:** avoid direct secrets reference in release-please if conditional ([#83](https://github.com/juliendurandeu/jonah-fleet/issues/83)) ([6d6dcd9](https://github.com/juliendurandeu/jonah-fleet/commit/6d6dcd9c472f76dc6026ed16cca49cf665a6ea8c))
26
+
27
+ ## [Unreleased] - 2026-09-07
28
+
29
+ ### Changed
30
+ - **deps:** update `vitest` devDependency from `4.1.11` to `^5.0.0` ([#78](https://github.com/juliendurandeu/jonah-fleet/issues/78))
31
+
32
+ ### Added
33
+ - **workflows:** Automate run log delivery directly to main with `[skip ci]` ([#72](https://github.com/juliendurandeu/jonah-fleet/pull/72)):
34
+ - Adds deterministic post-step in `autowork-cron.yml` and `templates/workflows/autowork-cron.yml` to safely preserve and push operational execution logs directly to `main` with `[skip ci]`.
35
+ - Adds workflow invariant tests in `tests/workflows-validation.test.ts`.
36
+ - **prompts:** Guard orphaned ready PR recovery against unstable and unapproved CI ([#75](https://github.com/juliendurandeu/jonah-fleet/pull/75)):
37
+ - Adds Passing CI Verification Gate requiring `conclusion: "SUCCESS"` and `mergeStateStatus: "CLEAN"` in Step 3c of `autowork.md` and `ORCHESTRATION.md`.
38
+ - Prohibits review re-triggering and draft toggles when checks are in-progress, failing, or in `ACTION_REQUIRED` awaiting permissions to prevent comment loops.
39
+ - Adds validation test in `tests/prompts-validation.test.ts`.
40
+ - **workflows:** Authenticate checkout with `GH_PAT` token in autowork workflows ([#73](https://github.com/juliendurandeu/jonah-fleet/pull/73)):
41
+ - Configures `actions/checkout@v4` with `token: ${{ secrets.GH_PAT || github.token }}` across all autowork workflow templates to attribute Git pushes to a write-permission token and avoid stalled approval checks.
42
+ - Added workflow validation tests in `tests/workflows-validation.test.ts`.
43
+ - **telemetry:** Ambiguity Gate telemetry tracking and terminal dashboard integration:
44
+ - Parses Ambiguity Gate triggers (`ambiguityGateTriggered`), count of clarifying questions asked (`questionsAskedCount`), and `needs-info` labels applied.
45
+ - Aggregates fleet-wide inquisitive stance metrics and calculates estimated wasted tokens averted (~50k tokens per averted runaway run).
46
+ - Terminal telemetry dashboard presents `❓ Inquisitive Stance & Ambiguity Gate Signals`.
47
+ - **optimizer & orchestration:** Passive Order-Taking Anomaly and Speculative Runaway Waste heuristics:
48
+ - Documents the "Passive Order-Taking Anomaly (\"Yes-Man Blindspot\")" when agents default to compliance over inquiry, resulting in high iterations and PR review bounces.
49
+ - Added "Ambiguity Gate & Benchmark Eval Feeding" remediation trigger in `optimizer.md` and `ORCHESTRATION.md`.
50
+ - **evals & benchmark:** Automated Ambiguity Benchmark engine and optimizer-fed test suite:
51
+ - Created baseline dataset (`templates/evals/ambiguity-benchmark.json`) containing 10 calibrated issues (5 ambiguous requiring questions, 5 well-specified ready for implementation).
52
+ - Implemented `evaluateIssueAmbiguity()`, `runAmbiguityBenchmark()`, `extractBenchmarkCaseFromLog()`, and `feedOptimizerCaseToBenchmark()` in `src/lib/evals.ts`.
53
+ - Added unit tests in `tests/evals.test.ts` verifying 100% benchmark accuracy, 0% false compliance rate (yes-man error), question generation, and dynamic optimizer case feeding.
54
+
55
+ ## [1.5.0](https://github.com/juliendurandeu/jonah-fleet/compare/jonah-fleet-v1.4.2...jonah-fleet-v1.5.0) (2026-09-03)
56
+
57
+
58
+ ### Features
59
+
60
+ * **daemon:** extract reviewable PR filter helper and add unit tests for queue draining ([#66](https://github.com/juliendurandeu/jonah-fleet/issues/66))
61
+ * **daemon:** display target PR/issue ID & title and wrap terminal card lines without cropping
62
+ * **autowork:** single-flight PR claim protocol in Phase 1 convergence to prevent daemon race conditions on bounced PRs
63
+ * **autowork:** add selective server-side issue querying to prevent tool buffer truncation ([#54](https://github.com/juliendurandeu/jonah-fleet/issues/54)) ([e85958b](https://github.com/juliendurandeu/jonah-fleet/commit/e85958bc9129b16af170961a0ae85ff91211ec85))
64
+ * **daemon:** drain reviewable PR backlog via sequential peer review sessions before moving to autowork ([#61](https://github.com/juliendurandeu/jonah-fleet/issues/61)) ([#62](https://github.com/juliendurandeu/jonah-fleet/pull/62))
65
+ * **cli:** add multi-repo fleet monitoring command (jonah-fleet monitor) ([#6](https://github.com/juliendurandeu/jonah-fleet/issues/6)) ([0093c0f](https://github.com/juliendurandeu/jonah-fleet/commit/0093c0f2bdeb0d48d952119b96e541be73c59a03))
66
+ * **cli:** add per-agent token breakdown to jonah-fleet status and monitor commands ([#16](https://github.com/juliendurandeu/jonah-fleet/issues/16)) ([7e51d0c](https://github.com/juliendurandeu/jonah-fleet/commit/7e51d0cb6bdf8fef127cac7f13f8320821cb4391))
67
+ * **cli:** enhance jonah-fleet init with smart tech-stack auto-detection ([#37](https://github.com/juliendurandeu/jonah-fleet/issues/37)) ([b1b028a](https://github.com/juliendurandeu/jonah-fleet/commit/b1b028a5cc145aeb6a0a9b0df2e4ab010c1fa104))
68
+ * **daemon:** dynamically track and display active issue or PR in terminal spinner and status ([#57](https://github.com/juliendurandeu/jonah-fleet/issues/57)) ([f9c3baa](https://github.com/juliendurandeu/jonah-fleet/commit/f9c3baaab1562e21a0db170f311873cdc9a3e287))
69
+ * **daemon:** multi-cadence daemon, terminal cards, and strict allowlist review filters ([5889a0c](https://github.com/juliendurandeu/jonah-fleet/commit/5889a0c2b11b74faece74f7a64db43cb98fd47a1))
70
+ * **dual-execution:** priority-driven dual execution (local agents + actions) ([#53](https://github.com/juliendurandeu/jonah-fleet/issues/53)) ([5711bf3](https://github.com/juliendurandeu/jonah-fleet/commit/5711bf3798bba799ba4638c8cb2584878ad25d25))
71
+ * **evals:** add automated test suite for bi-directional optimization bridge and downstream sync ([#23](https://github.com/juliendurandeu/jonah-fleet/issues/23)) ([2e55227](https://github.com/juliendurandeu/jonah-fleet/commit/2e552273600c22879d81b6ad607ad912809d3dbb))
72
+ * **fleet-query:** extend fleet query engine with per-routine token and iteration aggregation ([#15](https://github.com/juliendurandeu/jonah-fleet/issues/15)) ([cabbbbc](https://github.com/juliendurandeu/jonah-fleet/commit/cabbbbcc62d8fe39ea135f56acdba0343aa11e02))
73
+ * **fleet:** initial release of jonah-fleet standalone agent suite and CLI ([1b08b3e](https://github.com/juliendurandeu/jonah-fleet/commit/1b08b3e14626cda25e76464d92782f16cfaae936))
74
+ * **optimizer:** implement token anomaly heuristics and automated PR triggers ([#10](https://github.com/juliendurandeu/jonah-fleet/issues/10)) ([#17](https://github.com/juliendurandeu/jonah-fleet/issues/17)) ([3090785](https://github.com/juliendurandeu/jonah-fleet/commit/30907857f7e24edaee1d2c2dbca61568d95f7767))
75
+ * **optimizer:** update optimizer routine with per-agent token aggregation protocol and scorecard schema ([#14](https://github.com/juliendurandeu/jonah-fleet/issues/14)) ([2e435ef](https://github.com/juliendurandeu/jonah-fleet/commit/2e435ef7492bf75dbf3c081d64375f49ea542667))
76
+ * **orchestration:** add failure notification and periodic scan watchdog to prevent stuck PRs ([#32](https://github.com/juliendurandeu/jonah-fleet/issues/32)) ([a7c555f](https://github.com/juliendurandeu/jonah-fleet/commit/a7c555f2f38a868674931bd9b61511b4530f2784))
77
+ * **orchestration:** add symphony radar, attribution notice, and inward blocker dependency gating ([#34](https://github.com/juliendurandeu/jonah-fleet/issues/34)) ([f8995ef](https://github.com/juliendurandeu/jonah-fleet/commit/f8995efd63a1509414768b2f0bf726d1de15a214))
78
+ * **peer-review:** add autonomous issue synthesis for unlinked PRs ([54e9a54](https://github.com/juliendurandeu/jonah-fleet/commit/54e9a54685ee89bf124923fb6086760c3753d097))
79
+ * **peer-review:** allow self-contained PR descriptions without blocking on linked issues ([97b7034](https://github.com/juliendurandeu/jonah-fleet/commit/97b703403040fc9dbe4f6b6622000822d9925aae))
80
+ * **prompts:** add Design System & Telemetry Friction Guardrails to core routines (closes [#49](https://github.com/juliendurandeu/jonah-fleet/issues/49)) ([#50](https://github.com/juliendurandeu/jonah-fleet/issues/50)) ([16d1011](https://github.com/juliendurandeu/jonah-fleet/commit/16d1011ac5255b84f93a8ece7e3f516d7355dc09))
81
+ * **prompts:** add feedback loop stagnation heuristic and closed-loop verification audit ([#24](https://github.com/juliendurandeu/jonah-fleet/issues/24)) ([c3ea012](https://github.com/juliendurandeu/jonah-fleet/commit/c3ea01297017347f6b3c43e4bdd99ea2704fd60e))
82
+ * **routines:** bridge analytics measurement outcomes into product planning for feature pivots and deprecations ([#43](https://github.com/juliendurandeu/jonah-fleet/issues/43)) ([446641d](https://github.com/juliendurandeu/jonah-fleet/commit/446641da7a9f9fc0c00dcf1fa98c26c067145ddc)), closes [#28](https://github.com/juliendurandeu/jonah-fleet/issues/28)
83
+ * **telemetry:** design and implement centralized cross-repo telemetry and token tracking hub (closes [#5](https://github.com/juliendurandeu/jonah-fleet/issues/5)) ([#22](https://github.com/juliendurandeu/jonah-fleet/issues/22)) ([e910277](https://github.com/juliendurandeu/jonah-fleet/commit/e9102779293601e94a23401a10e669bb174cb972))
84
+ * **workflows:** support custom cron schedules in manifest and preserve across syncs ([#47](https://github.com/juliendurandeu/jonah-fleet/issues/47)) ([#48](https://github.com/juliendurandeu/jonah-fleet/issues/48)) ([029fadb](https://github.com/juliendurandeu/jonah-fleet/commit/029fadbcabe805fb46268fa369e8f0f7272c33f1))
85
+ * **workflows:** support manual and comment-based (re)triggering for peer review routine ([#30](https://github.com/juliendurandeu/jonah-fleet/issues/30)) ([e8be955](https://github.com/juliendurandeu/jonah-fleet/commit/e8be955f429450fdce2d79f52a27c3ee4bb41acd)), closes [#29](https://github.com/juliendurandeu/jonah-fleet/issues/29)
86
+ * **workflows:** support triggering autowork via workflow_dispatch badge link (closes [#18](https://github.com/juliendurandeu/jonah-fleet/issues/18)) ([#20](https://github.com/juliendurandeu/jonah-fleet/issues/20)) ([a44e54e](https://github.com/juliendurandeu/jonah-fleet/commit/a44e54e647db11587ab58eb0ec01201cb7e9376f))
87
+
88
+
89
+ ### Bug Fixes
90
+
91
+ * **ci:** grant issues:write to release-please and use googleapis action ([37a6782](https://github.com/juliendurandeu/jonah-fleet/commit/37a67824e4cbbced5e08dc48d79b70a4145646ff))
92
+ * **detector:** use literal replacers and pmPrefix for fastapi dev ([0b96e2a](https://github.com/juliendurandeu/jonah-fleet/commit/0b96e2a06230df86a1c5a9097aa98b380565bcc8))
93
+ * **security:** resolve Critical and High vulnerabilities in vitest and transitive dependencies ([#42](https://github.com/juliendurandeu/jonah-fleet/issues/42)) ([9c88fa9](https://github.com/juliendurandeu/jonah-fleet/commit/9c88fa97b1529ba20fc9223ddb6e7c08e1b345f6))
94
+
95
+
96
+ ### Performance Improvements
97
+
98
+ * **workflows:** optimize github actions quota consumption ([#51](https://github.com/juliendurandeu/jonah-fleet/issues/51)) ([af8a8fb](https://github.com/juliendurandeu/jonah-fleet/commit/af8a8fb08cc9b884192e1204548a53b571f1a4a6))
99
+
8
100
  ## [1.4.2] - 2026-09-03
9
101
 
10
102
  ### Changed
11
103
  - Strict Allowlist for Cloud Review Triggers:
12
104
  - Updated `trigger-review-routine.yml` to strictly require `priority/P0` or `priority/P1` labels to fire immediate cloud reviews on `pull_request` events.
13
105
  - Untagged PRs and lower-priority PRs (P2/P3) skip immediate cloud review, routing review execution exclusively to local peer-review daemons (with 48h scheduled cloud catchup fallback).
106
+ - Dynamic Issue & PR Target Tracking:
107
+ - Added real-time target detection (`detectClaimedIssue` and `detectClaimedPR`) in `src/lib/terminal-card.ts` that dynamically switches the live spinner label from `autowork` / `peer-review` to `[Issue #<N>]` or `[PR #<N>]` the moment a candidate is claimed.
108
+ - Added `activeTarget` tracking in `DaemonState` (`.jonah-fleet/daemon.json`), displayed in `jonah-fleet daemon status` (e.g. `WORKING on autowork (Issue #42)`).
14
109
 
15
110
  ## [1.4.1] - 2026-09-03
16
111
 
@@ -5,6 +5,7 @@ export interface DaemonCommandOptions {
5
5
  routines?: string;
6
6
  model?: string;
7
7
  foreground?: boolean;
8
+ verbose?: boolean;
8
9
  }
9
10
  export declare function runDaemonCommand(action?: string, options?: DaemonCommandOptions): Promise<void>;
10
11
  //# sourceMappingURL=daemon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FzG"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FzG"}
@@ -6,6 +6,7 @@ export interface RunCommandOptions {
6
6
  worktree?: boolean;
7
7
  keepWorktree?: boolean;
8
8
  dryRun?: boolean;
9
+ verbose?: boolean;
9
10
  }
10
11
  export declare function runRoutineCommand(routine: string, options?: RunCommandOptions): Promise<void>;
11
12
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DvG"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DvG"}