jonah-fleet 1.31.0 β 1.31.1
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 +10 -0
- package/dist/index.js +94 -11
- package/dist/lib/daemon.d.ts +23 -0
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/runner.d.ts +2 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/prompts/analytics-review.md +1 -1
- package/templates/prompts/design-review.md +1 -1
- package/templates/prompts/product-planning.md +1 -1
- package/templates/workflows/analytics-review-cron.yml +1 -1
- package/templates/workflows/autowork-cron.yml +1 -1
- package/templates/workflows/dependency-check-cron.yml +1 -1
- package/templates/workflows/design-review-cron.yml +1 -1
- package/templates/workflows/issues-housekeeping-cron.yml +1 -1
- package/templates/workflows/prompt-optimizer-cron.yml +1 -1
- package/templates/workflows/trigger-autowork-manual.yml +1 -1
- package/templates/workflows/trigger-autowork-on-assign.yml +1 -1
- package/templates/workflows/trigger-autowork-on-bug.yml +1 -1
- package/templates/workflows/trigger-autowork-on-merge.yml +1 -1
- package/templates/workflows/trigger-review-routine.yml +1 -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.31.1](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.31.0...v1.31.1) (2026-10-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **daemon:** add quota exhaustion cooldown and PR failure backoff ([#549](https://github.com/Jonah-Projects/jonah-fleet/issues/549)) ([9806a28](https://github.com/Jonah-Projects/jonah-fleet/commit/9806a283900c81769a2d565b88dd9e6486eee9e5))
|
|
14
|
+
|
|
8
15
|
## [1.31.0](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.30.5...v1.31.0) (2026-10-01)
|
|
9
16
|
|
|
10
17
|
|
|
@@ -45,6 +52,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
45
52
|
|
|
46
53
|
### Bug Fixes
|
|
47
54
|
|
|
55
|
+
* **daemon:** add LLM quota exhaustion backoff (15m cooldown) and PR failure tracking to prevent infinite retry loops on exhausted or failing PRs
|
|
56
|
+
* **runner:** expand detectQuotaExceeded to match RESOURCE_EXHAUSTED, code 429, and rate_limit_exceeded CLI errors
|
|
57
|
+
* **workflows:** expand quota-pause regex to detect RESOURCE_EXHAUSTED and code 429 across all routine workflows
|
|
48
58
|
* **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
|
|
49
59
|
|
|
50
60
|
## [1.30.2](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.30.1...v1.30.2) (2026-09-30)
|
package/dist/index.js
CHANGED
|
@@ -4435,8 +4435,10 @@ async function tryPostLocalRunMilestoneAsync(cwd, issueNumber, cardContent) {
|
|
|
4435
4435
|
function detectQuotaExceeded(output, stderr) {
|
|
4436
4436
|
const combined = `${output}
|
|
4437
4437
|
${stderr}`;
|
|
4438
|
-
if (/individual quota reached|quota reached/i.test(
|
|
4439
|
-
|
|
4438
|
+
if (/individual quota reached|quota reached|RESOURCE_EXHAUSTED|resource has been exhausted|rate_limit_exceeded|rate limit exceeded|code 429|check quota/i.test(
|
|
4439
|
+
combined
|
|
4440
|
+
)) {
|
|
4441
|
+
const match = combined.match(/(?:Resets in|resets in|retry after)\s+([^.\n]+)/i);
|
|
4440
4442
|
return {
|
|
4441
4443
|
isQuota: true,
|
|
4442
4444
|
resetInfo: match ? `Resets in ${match[1].trim()}` : void 0
|
|
@@ -5186,7 +5188,9 @@ Timeout: ${printTimeout}`,
|
|
|
5186
5188
|
stderr: accumulatedStderr,
|
|
5187
5189
|
worktreePath,
|
|
5188
5190
|
branchName,
|
|
5189
|
-
issueNumber: routineIssueNumber
|
|
5191
|
+
issueNumber: routineIssueNumber,
|
|
5192
|
+
quotaPaused: quotaInfo.isQuota,
|
|
5193
|
+
quotaResetInfo: quotaInfo.resetInfo
|
|
5190
5194
|
};
|
|
5191
5195
|
}
|
|
5192
5196
|
|
|
@@ -6049,7 +6053,9 @@ async function drainReviewQueue(drainOptions) {
|
|
|
6049
6053
|
clearTicker,
|
|
6050
6054
|
getPRs = getOpenReviewablePRs,
|
|
6051
6055
|
runRoutine = runLocalRoutine,
|
|
6052
|
-
onAttempted
|
|
6056
|
+
onAttempted,
|
|
6057
|
+
failureCooldowns,
|
|
6058
|
+
onQuotaExhausted
|
|
6053
6059
|
} = drainOptions;
|
|
6054
6060
|
if (isStopping()) return;
|
|
6055
6061
|
if (state) {
|
|
@@ -6070,13 +6076,22 @@ async function drainReviewQueue(drainOptions) {
|
|
|
6070
6076
|
return;
|
|
6071
6077
|
}
|
|
6072
6078
|
const attemptedPRNumbers = /* @__PURE__ */ new Set();
|
|
6079
|
+
const cooldownDurationMs = (options.prFailureCooldownMinutes ?? 15) * 60 * 1e3;
|
|
6073
6080
|
while (!isStopping() && reviewablePRs.length > 0) {
|
|
6074
|
-
const
|
|
6081
|
+
const now = Date.now();
|
|
6082
|
+
const candidatePRs = reviewablePRs.filter((pr) => {
|
|
6083
|
+
if (attemptedPRNumbers.has(pr.number)) return false;
|
|
6084
|
+
const cooldown = failureCooldowns?.get(pr.number);
|
|
6085
|
+
if (cooldown && now - cooldown.failedAt < cooldownDurationMs) {
|
|
6086
|
+
return false;
|
|
6087
|
+
}
|
|
6088
|
+
return true;
|
|
6089
|
+
});
|
|
6075
6090
|
if (candidatePRs.length === 0) {
|
|
6076
6091
|
if (options.verbose) {
|
|
6077
6092
|
console.log(
|
|
6078
6093
|
pc14.dim(
|
|
6079
|
-
`[${(/* @__PURE__ */ new Date()).toLocaleTimeString()}] All ${reviewablePRs.length} remaining ready PR(s) were already evaluated in this drain pass.`
|
|
6094
|
+
`[${(/* @__PURE__ */ new Date()).toLocaleTimeString()}] All ${reviewablePRs.length} remaining ready PR(s) were already evaluated or in failure cooldown in this drain pass.`
|
|
6080
6095
|
)
|
|
6081
6096
|
);
|
|
6082
6097
|
}
|
|
@@ -6124,18 +6139,43 @@ async function drainReviewQueue(drainOptions) {
|
|
|
6124
6139
|
attemptedPRNumbers.add(prNum);
|
|
6125
6140
|
onAttempted?.(prNum);
|
|
6126
6141
|
}
|
|
6142
|
+
const isQuota = result.quotaPaused || !result.success && detectQuotaExceeded(result.output || "", result.stderr || "").isQuota;
|
|
6143
|
+
if (isQuota) {
|
|
6144
|
+
const resetInfo = result.quotaResetInfo || detectQuotaExceeded(result.output || "", result.stderr || "").resetInfo;
|
|
6145
|
+
console.warn(
|
|
6146
|
+
pc14.yellow(
|
|
6147
|
+
`
|
|
6148
|
+
\u26A0\uFE0F Peer Review on ${targetLabel} paused due to LLM quota exhaustion (${resetInfo || "RESOURCE_EXHAUSTED / 429"}).`
|
|
6149
|
+
)
|
|
6150
|
+
);
|
|
6151
|
+
if (typeof prNum === "number") {
|
|
6152
|
+
const prev = failureCooldowns?.get(prNum);
|
|
6153
|
+
failureCooldowns?.set(prNum, { failedAt: Date.now(), count: (prev?.count || 0) + 1 });
|
|
6154
|
+
}
|
|
6155
|
+
onQuotaExhausted?.(resetInfo);
|
|
6156
|
+
break;
|
|
6157
|
+
}
|
|
6127
6158
|
if (result.success) {
|
|
6128
6159
|
console.log(pc14.green(`\u2713 Local peer-review on ${targetLabel} completed successfully.
|
|
6129
6160
|
`));
|
|
6161
|
+
if (typeof prNum === "number") {
|
|
6162
|
+
failureCooldowns?.delete(prNum);
|
|
6163
|
+
}
|
|
6130
6164
|
} else {
|
|
6131
6165
|
console.warn(pc14.yellow(`\u26A0\uFE0F Local peer-review on ${targetLabel} completed with code ${result.exitCode}.
|
|
6132
6166
|
`));
|
|
6167
|
+
if (typeof prNum === "number") {
|
|
6168
|
+
const prev = failureCooldowns?.get(prNum);
|
|
6169
|
+
failureCooldowns?.set(prNum, { failedAt: Date.now(), count: (prev?.count || 0) + 1 });
|
|
6170
|
+
}
|
|
6133
6171
|
}
|
|
6134
6172
|
} catch (err) {
|
|
6135
6173
|
console.error(pc14.red(`\u2717 Error in peer-review on ${targetLabel}: ${err.message}`));
|
|
6136
6174
|
if (currentPR) {
|
|
6137
6175
|
attemptedPRNumbers.add(currentPR.number);
|
|
6138
6176
|
onAttempted?.(currentPR.number);
|
|
6177
|
+
const prev = failureCooldowns?.get(currentPR.number);
|
|
6178
|
+
failureCooldowns?.set(currentPR.number, { failedAt: Date.now(), count: (prev?.count || 0) + 1 });
|
|
6139
6179
|
}
|
|
6140
6180
|
} finally {
|
|
6141
6181
|
if (state) {
|
|
@@ -6183,7 +6223,10 @@ async function performAutoworkScan(scanOptions) {
|
|
|
6183
6223
|
isStopping,
|
|
6184
6224
|
clearTicker,
|
|
6185
6225
|
getPRs,
|
|
6186
|
-
runRoutine
|
|
6226
|
+
runRoutine,
|
|
6227
|
+
onAttempted: scanOptions.onAttempted,
|
|
6228
|
+
failureCooldowns: scanOptions.failureCooldowns,
|
|
6229
|
+
onQuotaExhausted: scanOptions.onQuotaExhausted
|
|
6187
6230
|
});
|
|
6188
6231
|
const remainingPRs = (await getPRs(repoRoot)).length;
|
|
6189
6232
|
if (remainingPRs > 0) {
|
|
@@ -6232,6 +6275,18 @@ async function performAutoworkScan(scanOptions) {
|
|
|
6232
6275
|
}
|
|
6233
6276
|
}
|
|
6234
6277
|
});
|
|
6278
|
+
const isQuota = result.quotaPaused || !result.success && detectQuotaExceeded(result.output || "", result.stderr || "").isQuota;
|
|
6279
|
+
if (isQuota) {
|
|
6280
|
+
const resetInfo = result.quotaResetInfo || detectQuotaExceeded(result.output || "", result.stderr || "").resetInfo;
|
|
6281
|
+
console.warn(
|
|
6282
|
+
pc14.yellow(
|
|
6283
|
+
`
|
|
6284
|
+
\u26A0\uFE0F Autowork paused due to LLM quota exhaustion (${resetInfo || "RESOURCE_EXHAUSTED / 429"}).`
|
|
6285
|
+
)
|
|
6286
|
+
);
|
|
6287
|
+
scanOptions.onQuotaExhausted?.(resetInfo);
|
|
6288
|
+
return { executed: true, reason: "quota_exhausted" };
|
|
6289
|
+
}
|
|
6235
6290
|
if (result.success) {
|
|
6236
6291
|
console.log(pc14.green(`\u2713 Local autowork completed successfully.
|
|
6237
6292
|
`));
|
|
@@ -6282,6 +6337,22 @@ async function runDaemonLoop(repoRoot, options = {}) {
|
|
|
6282
6337
|
let stopResolve;
|
|
6283
6338
|
const reviewIntervalMs = reviewInterval * 60 * 1e3;
|
|
6284
6339
|
const autoworkIntervalMs = autoworkInterval * 60 * 1e3;
|
|
6340
|
+
const failureCooldowns = /* @__PURE__ */ new Map();
|
|
6341
|
+
const quotaCooldownMs = (options.quotaCooldownMinutes ?? 15) * 60 * 1e3;
|
|
6342
|
+
let quotaCooldownUntil;
|
|
6343
|
+
const handleQuotaPause = (resetInfo) => {
|
|
6344
|
+
const until = Date.now() + quotaCooldownMs;
|
|
6345
|
+
quotaCooldownUntil = until;
|
|
6346
|
+
nextReviewCheckTime = until;
|
|
6347
|
+
nextAutoworkCheckTime = Math.max(nextAutoworkCheckTime, until);
|
|
6348
|
+
const resetMsg = resetInfo || "RESOURCE_EXHAUSTED / 429";
|
|
6349
|
+
console.warn(
|
|
6350
|
+
pc14.yellow(
|
|
6351
|
+
`
|
|
6352
|
+
[${(/* @__PURE__ */ new Date()).toLocaleTimeString()}] \u23F8\uFE0F LLM quota exhausted (${resetMsg}). Deferring checks for ${Math.round(quotaCooldownMs / 6e4)}m...`
|
|
6353
|
+
)
|
|
6354
|
+
);
|
|
6355
|
+
};
|
|
6285
6356
|
let nextReviewCheckTime = Date.now() + (routines.includes("peer-review") ? reviewIntervalMs : Infinity);
|
|
6286
6357
|
let nextAutoworkCheckTime = Date.now() + (routines.includes("autowork") ? autoworkIntervalMs : Infinity);
|
|
6287
6358
|
let lastOpenPRCount = void 0;
|
|
@@ -6336,7 +6407,9 @@ Stopping local agent daemon...`));
|
|
|
6336
6407
|
isStopping: () => isStopping,
|
|
6337
6408
|
clearTicker,
|
|
6338
6409
|
getPRs: getPRsFn,
|
|
6339
|
-
runRoutine: runRoutineFn
|
|
6410
|
+
runRoutine: runRoutineFn,
|
|
6411
|
+
failureCooldowns,
|
|
6412
|
+
onQuotaExhausted: handleQuotaPause
|
|
6340
6413
|
});
|
|
6341
6414
|
try {
|
|
6342
6415
|
const prs = await getPRsFn(repoRoot);
|
|
@@ -6352,7 +6425,11 @@ Stopping local agent daemon...`));
|
|
|
6352
6425
|
state.activeRoutine = void 0;
|
|
6353
6426
|
state.activeTarget = void 0;
|
|
6354
6427
|
writeDaemonState(repoRoot, state);
|
|
6355
|
-
|
|
6428
|
+
if (quotaCooldownUntil && Date.now() < quotaCooldownUntil) {
|
|
6429
|
+
nextReviewCheckTime = quotaCooldownUntil;
|
|
6430
|
+
} else {
|
|
6431
|
+
nextReviewCheckTime = Date.now() + reviewIntervalMs;
|
|
6432
|
+
}
|
|
6356
6433
|
updateTicker();
|
|
6357
6434
|
if (isGracefulStopping) {
|
|
6358
6435
|
await handleStop();
|
|
@@ -6388,7 +6465,9 @@ Stopping local agent daemon...`));
|
|
|
6388
6465
|
clearTicker,
|
|
6389
6466
|
getPRs: getPRsFn,
|
|
6390
6467
|
getBacklog: options.getBacklog || getBacklogTriageReport,
|
|
6391
|
-
runRoutine: runRoutineFn
|
|
6468
|
+
runRoutine: runRoutineFn,
|
|
6469
|
+
failureCooldowns,
|
|
6470
|
+
onQuotaExhausted: handleQuotaPause
|
|
6392
6471
|
});
|
|
6393
6472
|
try {
|
|
6394
6473
|
const prs = await getPRsFn(repoRoot);
|
|
@@ -6404,7 +6483,11 @@ Stopping local agent daemon...`));
|
|
|
6404
6483
|
state.activeRoutine = void 0;
|
|
6405
6484
|
state.activeTarget = void 0;
|
|
6406
6485
|
writeDaemonState(repoRoot, state);
|
|
6407
|
-
|
|
6486
|
+
if (quotaCooldownUntil && Date.now() < quotaCooldownUntil) {
|
|
6487
|
+
nextAutoworkCheckTime = quotaCooldownUntil;
|
|
6488
|
+
} else {
|
|
6489
|
+
nextAutoworkCheckTime = Date.now() + autoworkIntervalMs;
|
|
6490
|
+
}
|
|
6408
6491
|
updateTicker();
|
|
6409
6492
|
if (!isStopping && routines.includes("peer-review")) {
|
|
6410
6493
|
try {
|
package/dist/lib/daemon.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export interface DaemonOptions {
|
|
|
18
18
|
interval?: number;
|
|
19
19
|
reviewInterval?: number;
|
|
20
20
|
autoworkInterval?: number;
|
|
21
|
+
quotaCooldownMinutes?: number;
|
|
22
|
+
prFailureCooldownMinutes?: number;
|
|
21
23
|
routines?: string[];
|
|
22
24
|
model?: string;
|
|
23
25
|
foreground?: boolean;
|
|
@@ -28,6 +30,10 @@ export interface DaemonOptions {
|
|
|
28
30
|
runRoutine?: (opts: any) => Promise<{
|
|
29
31
|
success: boolean;
|
|
30
32
|
exitCode?: number;
|
|
33
|
+
quotaPaused?: boolean;
|
|
34
|
+
quotaResetInfo?: string;
|
|
35
|
+
output?: string;
|
|
36
|
+
stderr?: string;
|
|
31
37
|
}>;
|
|
32
38
|
}
|
|
33
39
|
export declare function getDaemonStatePath(repoRoot: string): string;
|
|
@@ -130,6 +136,10 @@ export declare function queryOrphanedLocalRunIssues(repoRoot: string): Promise<A
|
|
|
130
136
|
* Operates asynchronously and fails gracefully on network / CLI errors without preventing daemon startup.
|
|
131
137
|
*/
|
|
132
138
|
export declare function reconcileOrphanedLocalRuns(optionsOrRepoRoot: string | ReconcileOrphanedRunsOptions): Promise<number>;
|
|
139
|
+
export interface PRFailureRecord {
|
|
140
|
+
failedAt: number;
|
|
141
|
+
count: number;
|
|
142
|
+
}
|
|
133
143
|
export interface DrainReviewQueueOptions {
|
|
134
144
|
repoRoot: string;
|
|
135
145
|
state?: DaemonState;
|
|
@@ -140,8 +150,14 @@ export interface DrainReviewQueueOptions {
|
|
|
140
150
|
runRoutine?: (opts: any) => Promise<{
|
|
141
151
|
success: boolean;
|
|
142
152
|
exitCode?: number;
|
|
153
|
+
quotaPaused?: boolean;
|
|
154
|
+
quotaResetInfo?: string;
|
|
155
|
+
output?: string;
|
|
156
|
+
stderr?: string;
|
|
143
157
|
}>;
|
|
144
158
|
onAttempted?: (prNumber: number) => void;
|
|
159
|
+
failureCooldowns?: Map<number, PRFailureRecord>;
|
|
160
|
+
onQuotaExhausted?: (resetInfo?: string) => void;
|
|
145
161
|
}
|
|
146
162
|
/**
|
|
147
163
|
* Sequentially drains all open reviewable PRs by executing peer-review in isolated worktrees.
|
|
@@ -159,8 +175,15 @@ export interface PerformAutoworkScanOptions {
|
|
|
159
175
|
runRoutine?: (opts: any) => Promise<{
|
|
160
176
|
success: boolean;
|
|
161
177
|
exitCode?: number;
|
|
178
|
+
quotaPaused?: boolean;
|
|
179
|
+
quotaResetInfo?: string;
|
|
180
|
+
output?: string;
|
|
181
|
+
stderr?: string;
|
|
162
182
|
}>;
|
|
163
183
|
onDiagnosticCard?: (card: string) => void;
|
|
184
|
+
onAttempted?: (prNumber: number) => void;
|
|
185
|
+
failureCooldowns?: Map<number, PRFailureRecord>;
|
|
186
|
+
onQuotaExhausted?: (resetInfo?: string) => void;
|
|
164
187
|
}
|
|
165
188
|
/**
|
|
166
189
|
* Performs an autowork backlog scan with zero-token preflight check.
|
package/dist/lib/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/runner.d.ts
CHANGED
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":"AAgCA,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -147,7 +147,7 @@ When conclusive measurement directives (`RECOMMENDATION: [PIVOT | DEPRECATE | IT
|
|
|
147
147
|
---
|
|
148
148
|
[](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})
|
|
149
149
|
|
|
150
|
-
|
|
150
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_"
|
|
151
151
|
|
|
152
152
|
STAGING_URL=$(gh issue create --title "$STAGING_TITLE" --body "$STAGING_BODY" --label "routine:product-planning,status:staging")
|
|
153
153
|
STAGING_ISSUE_NUMBER=$(echo "$STAGING_URL" | grep -oE '[0-9]+$')
|
|
@@ -151,7 +151,7 @@ For the surfaces being audited:
|
|
|
151
151
|
---
|
|
152
152
|
[](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_"
|
|
155
155
|
|
|
156
156
|
STAGING_URL=$(gh issue create --title "$STAGING_TITLE" --body "$STAGING_BODY" --label "routine:product-planning,status:staging")
|
|
157
157
|
STAGING_ISSUE_NUMBER=$(echo "$STAGING_URL" | grep -oE '[0-9]+$')
|
|
@@ -20,7 +20,7 @@ This routine runs in two modes: **Propose** (scheduled cron sweep / unapproved f
|
|
|
20
20
|
|
|
21
21
|
In **Propose mode**, SUCCESS requires:
|
|
22
22
|
- [ ] Located or initialized the active open staging issue (`routine:product-planning`, `status:staging`) and ingested all accumulated comment directives streamed by `analytics-review` and `design-review`
|
|
23
|
-
- [ ] Read current roadmap, domain documentation, closed measurement trackers across the trailing cycle lookback window (`closed:>=$(date -u -d '16 days ago' +%Y-%m-%d)`), recent analytics reviews (`routine:analytics-review`), and
|
|
23
|
+
- [ ] Read current roadmap, domain documentation, closed measurement trackers across the trailing cycle lookback window (`closed:>=$(date -u -d '16 days ago' +%Y-%m-%d)`), recent analytics reviews (`routine:analytics-review`), and recent design-review routine run issues (`routine:design-review`)
|
|
24
24
|
- [ ] Performed Feature Pruning & Deprecation Audit: evaluated shipped features, measurement outcomes (<2% user adoption or >50% failure rate), and Design Review pruning/clutter directives, drafting deprecation, removal, or simplification proposals
|
|
25
25
|
- [ ] Synthesized all accumulated directives into exactly one dated staging issue (`πΊοΈ Product Plan β {date}`) containing:
|
|
26
26
|
- All relevant well-scoped proposals (Summary/Tasks/Why/Complexity) warranted by evidence, covering additions, pivots, or deprecations (the operator owns deciding which proposals get promoted)
|
|
@@ -226,7 +226,7 @@ jobs:
|
|
|
226
226
|
set -e
|
|
227
227
|
|
|
228
228
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
229
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
229
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
230
230
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
231
231
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
232
232
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -236,7 +236,7 @@ jobs:
|
|
|
236
236
|
set -e
|
|
237
237
|
|
|
238
238
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
239
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
239
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
240
240
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
241
241
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
242
242
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -186,7 +186,7 @@ jobs:
|
|
|
186
186
|
set -e
|
|
187
187
|
|
|
188
188
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
189
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
189
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
190
190
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
191
191
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
192
192
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -171,7 +171,7 @@ jobs:
|
|
|
171
171
|
set -e
|
|
172
172
|
|
|
173
173
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
174
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
174
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
175
175
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
176
176
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
177
177
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -186,7 +186,7 @@ jobs:
|
|
|
186
186
|
set -e
|
|
187
187
|
|
|
188
188
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
189
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
189
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
190
190
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
191
191
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
192
192
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -186,7 +186,7 @@ jobs:
|
|
|
186
186
|
set -e
|
|
187
187
|
|
|
188
188
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
189
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
189
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
190
190
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
191
191
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
192
192
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -234,7 +234,7 @@ jobs:
|
|
|
234
234
|
set -e
|
|
235
235
|
|
|
236
236
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
237
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
237
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
238
238
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
239
239
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
240
240
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -195,7 +195,7 @@ jobs:
|
|
|
195
195
|
set -e
|
|
196
196
|
|
|
197
197
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
198
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
198
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
199
199
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
200
200
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
201
201
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -191,7 +191,7 @@ jobs:
|
|
|
191
191
|
set -e
|
|
192
192
|
|
|
193
193
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
194
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
194
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
195
195
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
196
196
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
197
197
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -221,7 +221,7 @@ jobs:
|
|
|
221
221
|
set -e
|
|
222
222
|
|
|
223
223
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
224
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
224
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
225
225
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
226
226
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
227
227
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|
|
@@ -299,7 +299,7 @@ jobs:
|
|
|
299
299
|
set -e
|
|
300
300
|
|
|
301
301
|
if [ "$AGY_EXIT_CODE" -ne 0 ]; then
|
|
302
|
-
if grep -qiE "Individual quota reached|quota reached" /tmp/agy.log; then
|
|
302
|
+
if grep -qiE "Individual quota reached|quota reached|RESOURCE_EXHAUSTED|code 429|Resource has been exhausted|rate_limit_exceeded" /tmp/agy.log; then
|
|
303
303
|
RESET_INFO=$(grep -oE "Resets in [^.]+" /tmp/agy.log | head -n 1 || echo "Resets in future window")
|
|
304
304
|
echo "QUOTA_PAUSED=true" >> "$GITHUB_ENV"
|
|
305
305
|
echo "QUOTA_RESET_INFO=$RESET_INFO" >> "$GITHUB_ENV"
|