jonah-fleet 1.13.0 → 1.15.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 +15 -13
- package/dist/index.js +53 -3
- package/dist/lib/labels.d.ts.map +1 -1
- package/dist/lib/presets.d.ts.map +1 -1
- package/dist/lib/runner.d.ts +10 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/prompts/ORCHESTRATION.md +21 -0
- package/templates/prompts/_prompt-template.md +57 -0
- package/templates/prompts/analytics-review.md +83 -0
- package/templates/prompts/autowork.md +43 -0
- package/templates/prompts/dependency-update-security-check.md +41 -0
- package/templates/prompts/design-review.md +43 -0
- package/templates/prompts/issues-housekeeping.md +42 -0
- package/templates/prompts/optimizer.md +43 -0
- package/templates/prompts/peer-review.md +43 -0
- package/templates/prompts/product-planning.md +43 -0
- package/templates/workflows/analytics-review-cron.yml +313 -0
- package/templates/workflows/autowork-cron.yml +59 -4
- package/templates/workflows/dependency-check-cron.yml +64 -1
- package/templates/workflows/design-review-cron.yml +59 -4
- package/templates/workflows/issues-housekeeping-cron.yml +64 -1
- package/templates/workflows/prompt-optimizer-cron.yml +59 -4
- package/templates/workflows/trigger-autowork-manual.yml +59 -4
- package/templates/workflows/trigger-autowork-on-bug.yml +59 -4
- package/templates/workflows/trigger-autowork-on-merge.yml +59 -4
- package/templates/workflows/trigger-review-routine.yml +68 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@ 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.15.0](https://github.com/juliendurandeu/jonah-fleet/compare/v1.14.0...v1.15.0) (2026-09-19)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **prompts:** restructure routine templates for 3-tier prompt prefix caching ([#239](https://github.com/juliendurandeu/jonah-fleet/issues/239)) ([a72ecc2](https://github.com/juliendurandeu/jonah-fleet/commit/a72ecc284e17f6311b52436a9e94f86d0ba9ab3a))
|
|
14
|
+
|
|
15
|
+
## [1.14.0](https://github.com/juliendurandeu/jonah-fleet/compare/v1.13.0...v1.14.0) (2026-09-19)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* **prompts:** restructure routine templates for 3-tier prompt prefix caching ([#210](https://github.com/juliendurandeu/jonah-fleet/issues/210))
|
|
21
|
+
* **workflows:** handle LLM quota limits with graceful pause (status:quota-paused) ([#240](https://github.com/juliendurandeu/jonah-fleet/issues/240)) ([98bb176](https://github.com/juliendurandeu/jonah-fleet/commit/98bb176f0b29462ab9de6baf5d0f102fee78b0ba))
|
|
22
|
+
|
|
8
23
|
## [1.13.0](https://github.com/juliendurandeu/jonah-fleet/compare/v1.12.0...v1.13.0) (2026-09-19)
|
|
9
24
|
|
|
10
25
|
|
|
@@ -26,19 +41,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
26
41
|
|
|
27
42
|
* **runner:** prevent premature routine termination on async background tasks in headless mode ([6641b2b](https://github.com/juliendurandeu/jonah-fleet/commit/6641b2b2e46ab363b73d490aac1144a33a1c69f9))
|
|
28
43
|
|
|
29
|
-
## [Unreleased] - 2026-09-19
|
|
30
|
-
|
|
31
|
-
### Features
|
|
32
|
-
|
|
33
|
-
* **orchestration:** standardize 'Why I believe this' structured human escalation card across autowork, triage, and housekeeping routines ([#209](https://github.com/juliendurandeu/jonah-fleet/issues/209))
|
|
34
|
-
* **guard:** implement CLI runner loop-guard and circuit-breaker wrapper ([#208](https://github.com/juliendurandeu/jonah-fleet/issues/208))
|
|
35
|
-
* **memory:** introduce opt-in LESSONS.md operational memory tier with 25-entry hard cap, schema configuration, and routine prompt gates ([#207](https://github.com/juliendurandeu/jonah-fleet/issues/207)).
|
|
36
|
-
|
|
37
|
-
### Bug Fixes
|
|
38
|
-
|
|
39
|
-
* **runner:** detect premature routine termination caused by async background task turn yielding in headless CLI mode (`agy -p`), preventing false-positive success logging on uncompleted runs.
|
|
40
|
-
* **prompts:** add Headless Execution & Asynchronous Non-Yielding Guardrail across `peer-review.md`, `autowork.md`, and `ORCHESTRATION.md` with explicit remote CI trust bar to eliminate redundant verification stalling.
|
|
41
|
-
|
|
42
44
|
## [1.11.0](https://github.com/juliendurandeu/jonah-fleet/compare/v1.10.0...v1.11.0) (2026-09-17)
|
|
43
45
|
|
|
44
46
|
|
package/dist/index.js
CHANGED
|
@@ -122,7 +122,7 @@ var ROUTINE_TO_WORKFLOW_MAP = {
|
|
|
122
122
|
"issues-housekeeping": ["issues-housekeeping-cron.yml"],
|
|
123
123
|
"dependency-update-security-check": ["dependency-check-cron.yml"],
|
|
124
124
|
"product-planning": [],
|
|
125
|
-
"analytics-review": [],
|
|
125
|
+
"analytics-review": ["analytics-review-cron.yml"],
|
|
126
126
|
"design-review": ["design-review-cron.yml"]
|
|
127
127
|
};
|
|
128
128
|
var FLEET_VERSION = "1.8.0";
|
|
@@ -1348,6 +1348,7 @@ var FLEET_CORE_LABELS = [
|
|
|
1348
1348
|
{ name: "status:running", color: "fbca04", description: "Routine execution in progress" },
|
|
1349
1349
|
{ name: "status:success", color: "0e8a16", description: "Routine execution succeeded" },
|
|
1350
1350
|
{ name: "status:failure", color: "d93f0b", description: "Routine execution failed" },
|
|
1351
|
+
{ name: "status:quota-paused", color: "e4e669", description: "Routine execution paused due to API quota limits" },
|
|
1351
1352
|
{ name: "needs-attention", color: "e11d48", description: "Requires maintainer triage" },
|
|
1352
1353
|
{ name: "runner:github-actions", color: "1f883d", description: "Executed via GitHub Actions" },
|
|
1353
1354
|
{ name: "runner:local", color: "bfd4f2", description: "Executed via local machine daemon" },
|
|
@@ -3943,8 +3944,56 @@ async function tryPostLocalRunMilestoneAsync(cwd, issueNumber, cardContent) {
|
|
|
3943
3944
|
}
|
|
3944
3945
|
}
|
|
3945
3946
|
}
|
|
3946
|
-
function
|
|
3947
|
+
function detectQuotaExceeded(output, stderr) {
|
|
3948
|
+
const combined = `${output}
|
|
3949
|
+
${stderr}`;
|
|
3950
|
+
if (/individual quota reached|quota reached/i.test(combined)) {
|
|
3951
|
+
const match = combined.match(/Resets in ([^.\n]+)/i);
|
|
3952
|
+
return {
|
|
3953
|
+
isQuota: true,
|
|
3954
|
+
resetInfo: match ? `Resets in ${match[1].trim()}` : void 0
|
|
3955
|
+
};
|
|
3956
|
+
}
|
|
3957
|
+
return { isQuota: false };
|
|
3958
|
+
}
|
|
3959
|
+
function tryReconcileLocalRunIssue(cwd, issueNumber, reportContent, exitCode, hostname, routine, quotaInfo) {
|
|
3947
3960
|
try {
|
|
3961
|
+
if (quotaInfo?.isQuota) {
|
|
3962
|
+
const resetStr = quotaInfo.resetInfo || "Resets in future window";
|
|
3963
|
+
const quotaCard = [
|
|
3964
|
+
`### \u23F8\uFE0F Milestone: Routine Execution Quota-Paused`,
|
|
3965
|
+
`- **Routine**: \`${routine || "local-routine"}\``,
|
|
3966
|
+
`- **Status**: LLM quota reached (\`${resetStr}\`)`,
|
|
3967
|
+
`- **Runner**: \`local (${hostname})\``,
|
|
3968
|
+
`- **Next Action**: Routine execution paused cleanly. Work will resume on next sweep after quota resets.`
|
|
3969
|
+
].join("\n");
|
|
3970
|
+
tryPostLocalRunMilestone(cwd, issueNumber, quotaCard);
|
|
3971
|
+
const finalBody2 = `${reportContent}
|
|
3972
|
+
|
|
3973
|
+
---
|
|
3974
|
+
_Generated by Jonah Fleet local runner on ${hostname}._`;
|
|
3975
|
+
const tmpFile2 = path12.join(os2.tmpdir(), `jonah-fleet-run-${issueNumber}-${Date.now()}.md`);
|
|
3976
|
+
fs12.writeFileSync(tmpFile2, finalBody2, "utf8");
|
|
3977
|
+
try {
|
|
3978
|
+
execSync2(`gh issue edit ${issueNumber} --body-file ${JSON.stringify(tmpFile2)}`, {
|
|
3979
|
+
cwd,
|
|
3980
|
+
stdio: ["ignore", "ignore", "ignore"]
|
|
3981
|
+
});
|
|
3982
|
+
execSync2(`gh issue edit ${issueNumber} --add-label "status:quota-paused" --remove-label "status:running"`, {
|
|
3983
|
+
cwd,
|
|
3984
|
+
stdio: ["ignore", "ignore", "ignore"]
|
|
3985
|
+
});
|
|
3986
|
+
execSync2(`gh issue close ${issueNumber} --reason completed`, {
|
|
3987
|
+
cwd,
|
|
3988
|
+
stdio: ["ignore", "ignore", "ignore"]
|
|
3989
|
+
});
|
|
3990
|
+
} finally {
|
|
3991
|
+
if (fs12.existsSync(tmpFile2)) {
|
|
3992
|
+
fs12.unlinkSync(tmpFile2);
|
|
3993
|
+
}
|
|
3994
|
+
}
|
|
3995
|
+
return;
|
|
3996
|
+
}
|
|
3948
3997
|
if (exitCode !== 0) {
|
|
3949
3998
|
const interruptionCard = formatInterruptionCard({
|
|
3950
3999
|
routine: routine || "local-routine",
|
|
@@ -4538,8 +4587,9 @@ Timeout: ${printTimeout}`,
|
|
|
4538
4587
|
);
|
|
4539
4588
|
} catch {
|
|
4540
4589
|
}
|
|
4590
|
+
const quotaInfo = detectQuotaExceeded(output, accumulatedStderr);
|
|
4541
4591
|
if (routineIssueNumber) {
|
|
4542
|
-
tryReconcileLocalRunIssue(targetDir, routineIssueNumber, reportContent, exitCode, hostname, routine);
|
|
4592
|
+
tryReconcileLocalRunIssue(targetDir, routineIssueNumber, reportContent, exitCode, hostname, routine, quotaInfo);
|
|
4543
4593
|
}
|
|
4544
4594
|
if (options.showCard !== false && !options.verbose) {
|
|
4545
4595
|
const prMatch = targetLabel.match(/PR\s*#?(\d+)/i);
|
package/dist/lib/labels.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/lib/labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE1F,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;IAC1C,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,GAAG,EAAE,mBAAmB,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,gCAAgC,EAAE,MAAM,EAqBpD,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,iBAAiB,GAAE,MAAM,EAAqC,GAC7D,OAAO,CAcT;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EAAE,EACvB,iBAAiB,GAAE,MAAM,EAAqC,GAC7D,gBAAgB,CAyClB;AAED,wBAAsB,eAAe,CACnC,cAAc,CAAC,EAAE,MAAM,EACvB,GAAG,GAAE,MAAsB,EAC3B,QAAQ,GAAE,UAA8B,GACvC,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAiCD,wBAAsB,eAAe,CACnC,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,GAAE,UAA8B,EACxC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CA6D1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6C9F;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/lib/labels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/lib/presets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/lib/presets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,kCAAkC,CAAC,EAAE,MAAM,CAAC;QAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IACF,cAAc,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,kCAAkC,CAAC,EAAE,MAAM,CAAC;QAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE;QACR,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,qBAAqB,EAAE,OAAO,CAAC;QAC/B,kCAAkC,EAAE,OAAO,CAAC;QAC5C,kBAAkB,EAAE,OAAO,CAAC;QAC5B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,kCAAkC,CAAC,EAAE,MAAM,CAAC;QAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC9B,CAAC;IACF,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAS3D,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASjE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAKnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAsBpC,CAAC;AAGF,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,6BAA6B,EAAE,mBAI3C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;IAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAoE3H,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAcrF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,aAAa,CAAC,UAAU,CAAC,GAAG,YAAY,CASlG,CAAC;AAEF,eAAO,MAAM,aAAa,UAAU,CAAC;AACrC,eAAO,MAAM,UAAU,kFAAkF,CAAC"}
|
package/dist/lib/runner.d.ts
CHANGED
|
@@ -145,12 +145,21 @@ export declare function tryPostLocalRunMilestone(cwd: string, issueNumber: numbe
|
|
|
145
145
|
* Fails gracefully if offline or unauthenticated.
|
|
146
146
|
*/
|
|
147
147
|
export declare function tryPostLocalRunMilestoneAsync(cwd: string, issueNumber: number, cardContent: string): Promise<boolean>;
|
|
148
|
+
export interface QuotaDetectionResult {
|
|
149
|
+
isQuota: boolean;
|
|
150
|
+
resetInfo?: string;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Detects whether routine runner stdout/stderr failed due to LLM quota exhaustion.
|
|
154
|
+
*/
|
|
155
|
+
export declare function detectQuotaExceeded(output: string, stderr: string): QuotaDetectionResult;
|
|
148
156
|
/**
|
|
149
157
|
* Reconciles a GitHub issue for local routine execution.
|
|
150
158
|
* Closes the issue if success, leaves it open with needs-attention if failure.
|
|
159
|
+
* Handles quota-paused routines gracefully without marking as failure.
|
|
151
160
|
* Fails gracefully if offline or unauthenticated.
|
|
152
161
|
*/
|
|
153
|
-
export declare function tryReconcileLocalRunIssue(cwd: string, issueNumber: number, reportContent: string, exitCode: number, hostname: string, routine?: string): void;
|
|
162
|
+
export declare function tryReconcileLocalRunIssue(cwd: string, issueNumber: number, reportContent: string, exitCode: number, hostname: string, routine?: string, quotaInfo?: QuotaDetectionResult): void;
|
|
154
163
|
/**
|
|
155
164
|
* Asynchronously marks an interrupted local routine run as failed and posts an interruption card.
|
|
156
165
|
* Leaves the issue open with status:failure,needs-attention for maintainer triage.
|
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
|
@@ -298,3 +298,24 @@ How autonomous routines escalate decisions, ambiguities, and blockers to human m
|
|
|
298
298
|
- `autowork.md`: Required when tripping the Ambiguity Gate (Step 12), encountering a 2nd-strike permanent blocker (`needs-human`), or hitting the review Ping-Pong Cap (Step 3b).
|
|
299
299
|
- `triage/SKILL.md`: Required when transitioning issues or PRs to `needs-info` or `ready-for-human`.
|
|
300
300
|
- `issues-housekeeping.md`: Required when auditing and escalating ambiguous, stale, or infeasible issues with `needs-human` or `needs-info`.
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 3-Tier Prompt Prefix Caching Architecture
|
|
305
|
+
|
|
306
|
+
How Jonah Fleet partitions prompt structures into Static $\rightarrow$ Semi-Stable $\rightarrow$ Dynamic tiers inspired by Orbital v0.4.2's prefix-caching architecture to achieve $>90\%$ cache hit rates on modern LLMs (Gemini, Anthropic, OpenAI), drastically reducing invocation latency and safeguarding the 70% weekly token budget ceiling:
|
|
307
|
+
|
|
308
|
+
1. **Tier 1 (Static Invariant Prefix)**:
|
|
309
|
+
- Contains routine objectives, Definitions of Done, hard constraints, negative examples, tool schemas, claim protocols, and core step-by-step instructions.
|
|
310
|
+
- Remains 100% immutable across all runs, workflows, and consumer repositories.
|
|
311
|
+
- Fully cached across all executions in the model's prefix cache.
|
|
312
|
+
2. **Tier 2 (Semi-Stable Project Rules)**:
|
|
313
|
+
- Contains repository conventions from `AGENTS.md` (or `CLAUDE.md`/`GEMINI.md`), active operational memory lessons from `LESSONS.md` (bounded by the 25-entry hard cap), enabled routines and budgets from `agents-manifest.json`, and project-specific skills in `.agents/skills/`.
|
|
314
|
+
- Semi-stable: changes only when repository documentation or operational gotchas evolve.
|
|
315
|
+
- Cached across consecutive runs within the same repository.
|
|
316
|
+
3. **Tier 3 (Dynamic Tail Payload)**:
|
|
317
|
+
- Contains run-specific targets (`$TARGET_ISSUE`, `$PR_NUMBER`), issue descriptions, git diffs, active branch names, timestamps, and execution metadata (`$ROUTINE_ISSUE_NUMBER`, `$GITHUB_RUN_ID`).
|
|
318
|
+
- Appended strictly at the tail of the prompt.
|
|
319
|
+
4. **Prefix Caching Invariants**:
|
|
320
|
+
- **Zero Dynamic Interpolation in Static Tiers**: Harnesses, workflows, and runners MUST NEVER interpolate dynamic timestamps, run IDs, random tokens, or target issue numbers into Tier 1 or Tier 2 prefix blocks. Any variation in the prompt prefix destroys cache reuse for subsequent tokens.
|
|
321
|
+
- **Tail Appending Only**: All dynamic context and runtime parameters must be injected exclusively at Tier 3 at the bottom of the prompt.
|
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# {Routine Name}
|
|
2
2
|
|
|
3
|
+
<!--
|
|
4
|
+
================================================================================
|
|
5
|
+
3-TIER PROMPT PREFIX CACHING ARCHITECTURE
|
|
6
|
+
Inspired by Orbital v0.4.2 prefix-caching architecture.
|
|
7
|
+
Partitioning prompt structures into Static -> Semi-Stable -> Dynamic tiers
|
|
8
|
+
maximizes LLM prefix cache hit rates (>90%) across Gemini, Anthropic, and OpenAI
|
|
9
|
+
API calls, drastically reducing latency and safeguarding Jonah Fleet's 70% weekly
|
|
10
|
+
token ceiling (~8.75M tokens).
|
|
11
|
+
|
|
12
|
+
- Tier 1 (Static Invariant Prefix): Routine objective, Definition of Done,
|
|
13
|
+
hard constraints, negative examples, tool schemas, claim protocols, and core instructions.
|
|
14
|
+
(100% cacheable across all runs and repositories).
|
|
15
|
+
- Tier 2 (Semi-Stable Project Rules): Ingested repository rules from AGENTS.md,
|
|
16
|
+
enabled routines from manifest, active lessons from LESSONS.md.
|
|
17
|
+
(Cacheable across consecutive runs within the same repository).
|
|
18
|
+
- Tier 3 (Dynamic Tail Payload): Target issue / PR data, git diff, active branch
|
|
19
|
+
name, timestamps, and transient environment variables.
|
|
20
|
+
(Appended strictly at the tail of the prompt so that any dynamic variation never
|
|
21
|
+
invalidates the prefix cache).
|
|
22
|
+
================================================================================
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
<!-- ============================================================================== -->
|
|
26
|
+
<!-- TIER 1: STATIC INVARIANT PREFIX -->
|
|
27
|
+
<!-- Routine objective, Definition of Done, constraints, instructions, and logging. -->
|
|
28
|
+
<!-- 100% cacheable across all runs and repositories. -->
|
|
29
|
+
<!-- ============================================================================== -->
|
|
30
|
+
|
|
3
31
|
## Objective
|
|
4
32
|
|
|
5
33
|
{One paragraph describing the goal. Be specific about scope — what is IN and OUT.}
|
|
@@ -50,3 +78,32 @@ After completing (SUCCESS or FAILURE), record run execution details to `.jonah-f
|
|
|
50
78
|
- On clean local runs outside a harness, write `.jonah-fleet/runs/{timestamp}.json`.
|
|
51
79
|
- Follow the Routine Issue Logging & Telemetry Protocol in `ORCHESTRATION.md`.
|
|
52
80
|
|
|
81
|
+
<!-- ============================================================================== -->
|
|
82
|
+
<!-- TIER 2: SEMI-STABLE PROJECT RULES -->
|
|
83
|
+
<!-- Repository rules from AGENTS.md, manifest configurations, and LESSONS.md. -->
|
|
84
|
+
<!-- Cacheable across consecutive runs within the same repository. -->
|
|
85
|
+
<!-- ============================================================================== -->
|
|
86
|
+
|
|
87
|
+
## Repository Rules & Project Context (Tier 2)
|
|
88
|
+
|
|
89
|
+
{In this tier, the routine ingests semi-stable project definitions that change rarely across consecutive runs in the same repository:}
|
|
90
|
+
|
|
91
|
+
1. **Repository Conventions (`AGENTS.md`)**: Read `AGENTS.md` (or `CLAUDE.md` / `GEMINI.md`) to align with project tech stack, build/test commands, architecture patterns, and styling guardrails.
|
|
92
|
+
2. **Operational Memory (`LESSONS.md`)**: If `LESSONS.md` exists, ingest relevant operational lessons and heuristics (adhering to the 25-entry hard cap).
|
|
93
|
+
3. **Fleet Manifest (`agents-manifest.json`)**: Ingest configured routine presets, model families, and timeout/iteration budgets.
|
|
94
|
+
4. **Engineering Skills (`.agents/skills/`)**: Ingest project-specific or fleet engineering skills matching the task domain.
|
|
95
|
+
|
|
96
|
+
<!-- ============================================================================== -->
|
|
97
|
+
<!-- TIER 3: DYNAMIC TAIL PAYLOAD -->
|
|
98
|
+
<!-- Target issue / PR data, git diff, active branch, timestamps, and runtime vars. -->
|
|
99
|
+
<!-- Appended strictly at the tail of the prompt to preserve prefix cache validity. -->
|
|
100
|
+
<!-- ============================================================================== -->
|
|
101
|
+
|
|
102
|
+
## Dynamic Context & Execution Payload (Tier 3)
|
|
103
|
+
|
|
104
|
+
{The dynamic execution context is injected strictly at the tail of the prompt so that variance across individual runs never invalidates the prefix cache established by Tier 1 and Tier 2:}
|
|
105
|
+
|
|
106
|
+
- **Target Identifier**: `$TARGET_ISSUE`, `$PR_NUMBER`, or scan mode directive.
|
|
107
|
+
- **Target Context**: Issue description, task checklist, PR diff, or commit messages.
|
|
108
|
+
- **Runtime Metadata**: `$ROUTINE_ISSUE_NUMBER`, `$GITHUB_RUN_ID`, execution timestamps, and event payload.
|
|
109
|
+
- **Prefix Caching Invariant**: Harnesses and runners MUST NEVER interpolate dynamic timestamps, run IDs, or target identifiers into Tier 1 or Tier 2 prefix blocks.
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Analytics Review
|
|
2
2
|
|
|
3
|
+
<!--
|
|
4
|
+
================================================================================
|
|
5
|
+
TIER 1: STATIC INVARIANT PREFIX
|
|
6
|
+
Routine objective, Definition of Done, constraints, instructions, and logging.
|
|
7
|
+
100% cacheable across all runs and repositories.
|
|
8
|
+
================================================================================
|
|
9
|
+
-->
|
|
10
|
+
|
|
3
11
|
## Objective
|
|
4
12
|
|
|
5
13
|
Evaluate active and scheduled measurement trackers against live product telemetry, user adoption metrics, conversion rates, and retention signals. Synthesize analytics observations into conclusive verdicts and mandatory downstream product action directives (`RECOMMENDATION: [PIVOT | DEPRECATE | ITERATE]`), bridging measurement directly into product planning rather than treating measurement closure as a terminal dead-end.
|
|
@@ -38,6 +46,16 @@ If any criterion cannot be met, stop immediately and log FAILURE with the reason
|
|
|
38
46
|
1. List all open issues tagged `measurement/*`, `telemetry/*`, or tracking feature adoption experiments.
|
|
39
47
|
2. Read the baseline metric targets, hypothesis, and evaluation criteria defined in each tracker.
|
|
40
48
|
3. Fetch or query relevant telemetry events, conversion funnels, and failure rates from logs or telemetry endpoints.
|
|
49
|
+
4. **Milestone 1 (Intake & Measurement Scan)**: If `$ROUTINE_ISSUE_NUMBER` is set, emit milestone card to the routine issue thread:
|
|
50
|
+
```bash
|
|
51
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### 🧭 Milestone: Intake & Measurement Scan
|
|
52
|
+
- **Routine**: \`analytics-review\`
|
|
53
|
+
- **Active Trackers**: Evaluated open measurement issues and telemetry datasets
|
|
54
|
+
- **Status**: Telemetry queried, beginning feature adoption & guardrail evaluation
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
58
|
+
```
|
|
41
59
|
|
|
42
60
|
### Step 2: Evaluate adoption and intent metrics
|
|
43
61
|
|
|
@@ -56,6 +74,17 @@ If any criterion cannot be met, stop immediately and log FAILURE with the reason
|
|
|
56
74
|
2. **Nudge & Banner Fatigue Rule**:
|
|
57
75
|
- Audit persistent promotional banners, cards, and nudges across active screens.
|
|
58
76
|
- Alert (P2) and mandate `RECOMMENDATION: DEPRECATE` or `RECOMMENDATION: PIVOT` if any persistent promotional banner/card exceeds 500 impressions in a 14-day window with an impression-to-action CTR < 2.0%, flagging it for consolidation, throttling, or clean removal to prevent visual crowding.
|
|
77
|
+
3. **Milestone 2 (Evaluation & UI Friction Audit)**: If `$ROUTINE_ISSUE_NUMBER` is set, emit milestone card to the routine issue thread:
|
|
78
|
+
```bash
|
|
79
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### 🔍 Milestone: Evaluation & UI Friction Audit
|
|
80
|
+
- **Adoption & Conversion**: Target vs actual computed across active trackers
|
|
81
|
+
- **UI Friction**: Rage clicks analyzed by component & URL
|
|
82
|
+
- **Nudge Fatigue**: Persistent promotional banners/cards audited against 500 impressions / 2% CTR rule
|
|
83
|
+
- **Status**: Formulating post-measurement action directives
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
87
|
+
```
|
|
59
88
|
|
|
60
89
|
### Step 3: Emit mandatory Post-Measurement Action Directive
|
|
61
90
|
|
|
@@ -79,6 +108,16 @@ When a measurement tracker is conclusive or reaches sub-threshold adoption (<2%
|
|
|
79
108
|
- Reference to the staged product planning item (`Staged to #M`)
|
|
80
109
|
- Antigravity run footer
|
|
81
110
|
2. Close the issue as completed.
|
|
111
|
+
3. **Milestone 3 (Directives & Staging Updates)**: If `$ROUTINE_ISSUE_NUMBER` is set, emit milestone card to the routine issue thread:
|
|
112
|
+
```bash
|
|
113
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### 🎯 Milestone: Directives & Staging Updates
|
|
114
|
+
- **Directives Staged**: Action directives staged into Product Plan / roadmap
|
|
115
|
+
- **Closed Trackers**: Conclusive measurement issues closed
|
|
116
|
+
- **Standing Guardrails**: Updated health baselines
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
120
|
+
```
|
|
82
121
|
|
|
83
122
|
## Logging
|
|
84
123
|
|
|
@@ -91,3 +130,47 @@ After completing (SUCCESS or FAILURE), record run execution details to `.jonah-f
|
|
|
91
130
|
**Issue Logging Protocol**:
|
|
92
131
|
- Record run execution details to `.jonah-fleet/run-report.md` (or update `$ROUTINE_ISSUE_NUMBER`).
|
|
93
132
|
- Follow the Routine Issue Logging & Telemetry Protocol in `ORCHESTRATION.md`. Never commit run logs to git branches.
|
|
133
|
+
- **Milestone 4 (Run Completed)**: If `$ROUTINE_ISSUE_NUMBER` is set in the environment, append the concluding compact milestone card to close out the comment stream:
|
|
134
|
+
```bash
|
|
135
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### 🏁 Milestone: Run Completed
|
|
136
|
+
- **Verdict**: \`SUCCESS\`
|
|
137
|
+
- **Trackers Evaluated**: \`$EVALUATED_COUNT\`
|
|
138
|
+
- **Directives Staged**: \`$DIRECTIVES_SUMMARY\`
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
<!--
|
|
145
|
+
================================================================================
|
|
146
|
+
TIER 2: SEMI-STABLE PROJECT RULES
|
|
147
|
+
Repository rules from AGENTS.md, manifest configurations, and LESSONS.md.
|
|
148
|
+
Cacheable across consecutive runs within the same repository.
|
|
149
|
+
================================================================================
|
|
150
|
+
-->
|
|
151
|
+
|
|
152
|
+
## Repository Rules & Project Context (Tier 2)
|
|
153
|
+
|
|
154
|
+
In this tier, Analytics Review ingests semi-stable repository conventions, telemetry schemas, and product tracking rules:
|
|
155
|
+
|
|
156
|
+
1. **Repository Conventions & Product Context (`AGENTS.md`, `ROADMAP.md`)**: Read `AGENTS.md` (or `CLAUDE.md` / `GEMINI.md`) and `ROADMAP.md` for telemetry provider setup (e.g. PostHog), event naming conventions, and metric goals.
|
|
157
|
+
2. **Operational Memory (`LESSONS.md`)**: Ingest active operational gotchas regarding known tracking quirks, bot filtering, or telemetry latency.
|
|
158
|
+
3. **Fleet Manifest (`agents-manifest.json`)**: Ingest enabled measurement review schedules and budget allocations.
|
|
159
|
+
4. **Engineering Skills (`.agents/skills/`)**: Leverage `diagnosing-bugs` (Intent vs. Defect Guardrail) to avoid falling into telemetry rabbit holes.
|
|
160
|
+
|
|
161
|
+
<!--
|
|
162
|
+
================================================================================
|
|
163
|
+
TIER 3: DYNAMIC TAIL PAYLOAD
|
|
164
|
+
Target issue / PR data, git diff, active branch, timestamps, and runtime vars.
|
|
165
|
+
Appended strictly at the tail of the prompt to preserve prefix cache validity.
|
|
166
|
+
================================================================================
|
|
167
|
+
-->
|
|
168
|
+
|
|
169
|
+
## Dynamic Context & Execution Payload (Tier 3)
|
|
170
|
+
|
|
171
|
+
The dynamic execution context for this analytics sweep is injected strictly at the tail of the prompt:
|
|
172
|
+
|
|
173
|
+
- **Open Trackers**: Active measurement issues (`measurement/*`, `telemetry/*`), experiment targets, and evaluation criteria.
|
|
174
|
+
- **Telemetry Query Results**: Event counts, funnel conversion rates, and rage click groupings.
|
|
175
|
+
- **Runtime Metadata**: `$ROUTINE_ISSUE_NUMBER`, `$GITHUB_RUN_ID`, and runner timestamp.
|
|
176
|
+
- **Prefix Caching Invariant**: Harnesses and runners MUST NEVER interpolate dynamic timestamps, run IDs, or target identifiers into Tier 1 or Tier 2 prefix blocks.
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Autowork
|
|
2
2
|
|
|
3
|
+
<!--
|
|
4
|
+
================================================================================
|
|
5
|
+
TIER 1: STATIC INVARIANT PREFIX
|
|
6
|
+
Routine objective, Definition of Done, constraints, instructions, and logging.
|
|
7
|
+
100% cacheable across all runs and repositories.
|
|
8
|
+
================================================================================
|
|
9
|
+
-->
|
|
10
|
+
|
|
3
11
|
## Objective
|
|
4
12
|
|
|
5
13
|
This routine runs in two modes, decided in Step 0. In **Scan mode** (a scheduled run, no issue named): converge on existing open work before starting anything new — priority order (1) address review comments on open PRs, (2) close issues whose PRs are merged, (3) only then pick a new issue. In **Targeted mode** (fired with a specific issue in the payload): work _that_ issue as the run's objective, **ahead of** the convergence steps above — the fire exists to start its issue immediately, so an unrelated pending PR does not preempt it (Step 0.5); fall back to the Scan flow only if the target is ineligible. Either way, at most one issue may be **implemented** (code written, branch pushed) per run — the sole exception is batching up to 3 same-recipe slices of a single _umbrella_ issue into one child issue + PR (step 12a); that batch is still one concern, not a second issue. Evaluating a candidate and finding it infeasible does not count as "working" it: in Scan mode, step 12's infeasible-continuation cap lets a run evaluate up to 3 candidates for feasibility before it must stop, so a single blocked issue can't consume an entire run without any other progress being attempted.
|
|
@@ -233,3 +241,38 @@ After completing (SUCCESS or FAILURE), record run execution details to `.jonah-f
|
|
|
233
241
|
- On **FAILURE**: If interrupted or failed, the harness posts the Interruption Card, edits the body, and marks `status:failure,needs-attention`.
|
|
234
242
|
- On clean local runs outside a harness, write `.jonah-fleet/runs/{timestamp}.json`.
|
|
235
243
|
- Follow the Routine Issue Logging & Telemetry Protocol in `ORCHESTRATION.md`.
|
|
244
|
+
|
|
245
|
+
<!--
|
|
246
|
+
================================================================================
|
|
247
|
+
TIER 2: SEMI-STABLE PROJECT RULES
|
|
248
|
+
Repository rules from AGENTS.md, manifest configurations, and LESSONS.md.
|
|
249
|
+
Cacheable across consecutive runs within the same repository.
|
|
250
|
+
================================================================================
|
|
251
|
+
-->
|
|
252
|
+
|
|
253
|
+
## Repository Rules & Project Context (Tier 2)
|
|
254
|
+
|
|
255
|
+
In this tier, Autowork ingests semi-stable repository conventions, operational memory, and configuration rules that change infrequently across consecutive runs in the same repository:
|
|
256
|
+
|
|
257
|
+
1. **Repository Conventions (`AGENTS.md`)**: Read `AGENTS.md` (or `CLAUDE.md` / `GEMINI.md`) for build/test/lint commands, code formatting rules, architectural guidelines, and design system tokens.
|
|
258
|
+
2. **Operational Memory (`LESSONS.md`)**: If `LESSONS.md` exists, ingest active operational gotchas (`grep -E "^### \[(subsystem)\]" LESSONS.md -A 4`) to avoid known pitfalls and regression patterns (enforcing the 25-entry hard cap).
|
|
259
|
+
3. **Fleet Manifest (`agents-manifest.json`)**: Ingest configured presets, model family assignments, and timeout/iteration ceilings.
|
|
260
|
+
4. **Engineering Skills (`.agents/skills/`)**: Leverage domain skills (`code-review`, `codebase-design`, `diagnosing-bugs`, `domain-modeling`, `grill-me`, `resolving-merge-conflicts`, `tdd`, `triage`, `writing-for-agents`).
|
|
261
|
+
|
|
262
|
+
<!--
|
|
263
|
+
================================================================================
|
|
264
|
+
TIER 3: DYNAMIC TAIL PAYLOAD
|
|
265
|
+
Target issue / PR data, git diff, active branch, timestamps, and runtime vars.
|
|
266
|
+
Appended strictly at the tail of the prompt to preserve prefix cache validity.
|
|
267
|
+
================================================================================
|
|
268
|
+
-->
|
|
269
|
+
|
|
270
|
+
## Dynamic Context & Execution Payload (Tier 3)
|
|
271
|
+
|
|
272
|
+
The dynamic execution context for this specific run is injected strictly at the tail of the prompt:
|
|
273
|
+
|
|
274
|
+
- **Target Issue**: In Targeted mode, `$TARGET_ISSUE` (or `$ISSUE_NUMBER`), issue title, description, and task checklist. In Scan mode, dynamic priority selection applies.
|
|
275
|
+
- **Runtime Metadata**: `$ROUTINE_ISSUE_NUMBER`, `$GITHUB_RUN_ID`, runner timestamp, and trigger event name.
|
|
276
|
+
- **Active Workspace Context**: Branch name (`feat/...` or `fix/...`), git merge-base diff against `origin/main`, and test output.
|
|
277
|
+
- **Prefix Caching Invariant**: Harnesses and runners MUST NEVER interpolate dynamic timestamps, run IDs, or target identifiers into Tier 1 or Tier 2 prefix blocks.
|
|
278
|
+
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Dependency Update & Security Check
|
|
2
2
|
|
|
3
|
+
<!--
|
|
4
|
+
================================================================================
|
|
5
|
+
TIER 1: STATIC INVARIANT PREFIX
|
|
6
|
+
Routine objective, Definition of Done, constraints, instructions, and logging.
|
|
7
|
+
100% cacheable across all runs and repositories.
|
|
8
|
+
================================================================================
|
|
9
|
+
-->
|
|
10
|
+
|
|
3
11
|
## Objective
|
|
4
12
|
|
|
5
13
|
Check all dependencies for available updates and known security vulnerabilities, report findings grouped by severity, and create or update GitHub issues for actionable items. Security vulnerabilities are highest priority — a vulnerability is actionable even when the affected dependency is not outdated (e.g. a transitive dependency, or an advisory with no fix released yet).
|
|
@@ -44,3 +52,36 @@ After completing (SUCCESS or FAILURE), record run execution details to `.jonah-f
|
|
|
44
52
|
**Issue Logging Protocol**:
|
|
45
53
|
- Record run execution details to `.jonah-fleet/run-report.md` (or update `$ROUTINE_ISSUE_NUMBER`).
|
|
46
54
|
- Follow the Routine Issue Logging & Telemetry Protocol in `ORCHESTRATION.md`. Never commit run logs to git branches.
|
|
55
|
+
|
|
56
|
+
<!--
|
|
57
|
+
================================================================================
|
|
58
|
+
TIER 2: SEMI-STABLE PROJECT RULES
|
|
59
|
+
Repository rules from AGENTS.md, manifest configurations, and LESSONS.md.
|
|
60
|
+
Cacheable across consecutive runs within the same repository.
|
|
61
|
+
================================================================================
|
|
62
|
+
-->
|
|
63
|
+
|
|
64
|
+
## Repository Rules & Project Context (Tier 2)
|
|
65
|
+
|
|
66
|
+
In this tier, Dependency Update & Security Check ingests semi-stable repository conventions and configuration rules:
|
|
67
|
+
|
|
68
|
+
1. **Repository Conventions (`AGENTS.md`)**: Read `AGENTS.md` (or `CLAUDE.md` / `GEMINI.md`) for package manager specifications (`npm`, `cargo`, `pip`), manifest paths, and security policies.
|
|
69
|
+
2. **Operational Memory (`LESSONS.md`)**: Ingest active operational gotchas regarding known dependency traps, version pins, or runtime conflicts.
|
|
70
|
+
3. **Fleet Manifest (`agents-manifest.json`)**: Ingest configured dependency-check schedules and budget overrides.
|
|
71
|
+
|
|
72
|
+
<!--
|
|
73
|
+
================================================================================
|
|
74
|
+
TIER 3: DYNAMIC TAIL PAYLOAD
|
|
75
|
+
Target issue / PR data, git diff, active branch, timestamps, and runtime vars.
|
|
76
|
+
Appended strictly at the tail of the prompt to preserve prefix cache validity.
|
|
77
|
+
================================================================================
|
|
78
|
+
-->
|
|
79
|
+
|
|
80
|
+
## Dynamic Context & Execution Payload (Tier 3)
|
|
81
|
+
|
|
82
|
+
The dynamic execution context for this dependency sweep is injected strictly at the tail of the prompt:
|
|
83
|
+
|
|
84
|
+
- **Scan Context**: Audit command stdout, outdated dependency list, and CVE advisory reports.
|
|
85
|
+
- **Runtime Metadata**: `$ROUTINE_ISSUE_NUMBER`, `$GITHUB_RUN_ID`, and runner timestamp.
|
|
86
|
+
- **Prefix Caching Invariant**: Harnesses and runners MUST NEVER interpolate dynamic timestamps, run IDs, or target identifiers into Tier 1 or Tier 2 prefix blocks.
|
|
87
|
+
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Design Review
|
|
2
2
|
|
|
3
|
+
<!--
|
|
4
|
+
================================================================================
|
|
5
|
+
TIER 1: STATIC INVARIANT PREFIX
|
|
6
|
+
Routine objective, Definition of Done, constraints, instructions, and logging.
|
|
7
|
+
100% cacheable across all runs and repositories.
|
|
8
|
+
================================================================================
|
|
9
|
+
-->
|
|
10
|
+
|
|
3
11
|
## Objective
|
|
4
12
|
|
|
5
13
|
Audit player-facing surfaces for design system token deviations, visual clutter, candidates for feature pruning, and high-impact UX improvements. Provide a continuous, budget-capped quality loop across the app by combining dynamic route discovery, static code analysis, and headless visual critiques. Directly file concrete, self-contained design fixes for Autowork while staging structural UX opportunities and pruning proposals into a dedicated Design Review issue for Product Planning to ingest.
|
|
@@ -123,3 +131,38 @@ Follow the Routine Issue Logging Protocol in `ORCHESTRATION.md`:
|
|
|
123
131
|
- If FAILURE: root cause, category, and suggested fix
|
|
124
132
|
3. The surrounding execution harness will reconcile the corresponding GitHub issue.
|
|
125
133
|
|
|
134
|
+
<!--
|
|
135
|
+
================================================================================
|
|
136
|
+
TIER 2: SEMI-STABLE PROJECT RULES
|
|
137
|
+
Repository rules from AGENTS.md, manifest configurations, and LESSONS.md.
|
|
138
|
+
Cacheable across consecutive runs within the same repository.
|
|
139
|
+
================================================================================
|
|
140
|
+
-->
|
|
141
|
+
|
|
142
|
+
## Repository Rules & Project Context (Tier 2)
|
|
143
|
+
|
|
144
|
+
In this tier, Design Review ingests semi-stable repository conventions, design tokens, and UI guidelines:
|
|
145
|
+
|
|
146
|
+
1. **Repository Conventions & Design System (`AGENTS.md`, `DESIGN_SYSTEM.md`)**: Read `AGENTS.md` (or `CLAUDE.md` / `GEMINI.md`) and `DESIGN_SYSTEM.md` for design tokens, color hierarchy, contrast rules, and component patterns.
|
|
147
|
+
2. **Operational Memory (`LESSONS.md`)**: Ingest active operational gotchas regarding known layout traps or viewport rendering quirks.
|
|
148
|
+
3. **Fleet Manifest (`agents-manifest.json`)**: Ingest enabled design review schedules and budget limits.
|
|
149
|
+
4. **Engineering Skills (`.agents/skills/`)**: Leverage `design-system` and `design-critique` for visual evaluation and Playwright audits.
|
|
150
|
+
|
|
151
|
+
<!--
|
|
152
|
+
================================================================================
|
|
153
|
+
TIER 3: DYNAMIC TAIL PAYLOAD
|
|
154
|
+
Target issue / PR data, git diff, active branch, timestamps, and runtime vars.
|
|
155
|
+
Appended strictly at the tail of the prompt to preserve prefix cache validity.
|
|
156
|
+
================================================================================
|
|
157
|
+
-->
|
|
158
|
+
|
|
159
|
+
## Dynamic Context & Execution Payload (Tier 3)
|
|
160
|
+
|
|
161
|
+
The dynamic execution context for this design audit is injected strictly at the tail of the prompt:
|
|
162
|
+
|
|
163
|
+
- **Target Surface Override**: `TARGET_SURFACE` (if specified) or dynamic route rotation queue.
|
|
164
|
+
- **Telemetry Friction Signals**: `$rageclick` logs and secondary CTR data for reviewed surfaces.
|
|
165
|
+
- **Runtime Metadata**: `$ROUTINE_ISSUE_NUMBER`, `$GITHUB_RUN_ID`, and runner timestamp.
|
|
166
|
+
- **Prefix Caching Invariant**: Harnesses and runners MUST NEVER interpolate dynamic timestamps, run IDs, or target identifiers into Tier 1 or Tier 2 prefix blocks.
|
|
167
|
+
|
|
168
|
+
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Issues Housekeeping
|
|
2
2
|
|
|
3
|
+
<!--
|
|
4
|
+
================================================================================
|
|
5
|
+
TIER 1: STATIC INVARIANT PREFIX
|
|
6
|
+
Routine objective, Definition of Done, constraints, instructions, and logging.
|
|
7
|
+
100% cacheable across all runs and repositories.
|
|
8
|
+
================================================================================
|
|
9
|
+
-->
|
|
10
|
+
|
|
3
11
|
## Objective
|
|
4
12
|
|
|
5
13
|
Sweep all open issues for staleness, duplicates, batch-consolidation opportunities (sets of small related issues addressable together), label drift, priority accuracy, dependency status, and orphaned autowork claims, and land any accumulated draft log-only PRs. Fix what can be fixed and post a summary of changes made.
|
|
@@ -66,3 +74,37 @@ After completing (SUCCESS or FAILURE), record run execution details to `.jonah-f
|
|
|
66
74
|
**Issue Logging Protocol**:
|
|
67
75
|
- Record run execution details to `.jonah-fleet/run-report.md` (or update `$ROUTINE_ISSUE_NUMBER`).
|
|
68
76
|
- Follow the Routine Issue Logging & Telemetry Protocol in `ORCHESTRATION.md`. Never commit run logs to git branches.
|
|
77
|
+
|
|
78
|
+
<!--
|
|
79
|
+
================================================================================
|
|
80
|
+
TIER 2: SEMI-STABLE PROJECT RULES
|
|
81
|
+
Repository rules from AGENTS.md, manifest configurations, and LESSONS.md.
|
|
82
|
+
Cacheable across consecutive runs within the same repository.
|
|
83
|
+
================================================================================
|
|
84
|
+
-->
|
|
85
|
+
|
|
86
|
+
## Repository Rules & Project Context (Tier 2)
|
|
87
|
+
|
|
88
|
+
In this tier, Issues Housekeeping ingests semi-stable repository conventions, operational memory, and configuration rules that change infrequently across consecutive runs in the same repository:
|
|
89
|
+
|
|
90
|
+
1. **Repository Conventions (`AGENTS.md`)**: Read `AGENTS.md` (or `CLAUDE.md` / `GEMINI.md`) for issue taxonomy, allowed labels, and escalation rules.
|
|
91
|
+
2. **Operational Memory (`LESSONS.md`)**: Ingest active operational gotchas to ensure issue triage preserves known project constraints.
|
|
92
|
+
3. **Fleet Manifest (`agents-manifest.json`)**: Ingest enabled routines and presets to audit active routine log issues.
|
|
93
|
+
4. **Engineering Skills (`.agents/skills/`)**: Leverage `triage` and `grill-me` when clarifying or categorizing ambiguous issues.
|
|
94
|
+
|
|
95
|
+
<!--
|
|
96
|
+
================================================================================
|
|
97
|
+
TIER 3: DYNAMIC TAIL PAYLOAD
|
|
98
|
+
Target issue / PR data, git diff, active branch, timestamps, and runtime vars.
|
|
99
|
+
Appended strictly at the tail of the prompt to preserve prefix cache validity.
|
|
100
|
+
================================================================================
|
|
101
|
+
-->
|
|
102
|
+
|
|
103
|
+
## Dynamic Context & Execution Payload (Tier 3)
|
|
104
|
+
|
|
105
|
+
The dynamic execution context for this housekeeping sweep is injected strictly at the tail of the prompt:
|
|
106
|
+
|
|
107
|
+
- **Open Issues Snapshot**: List of open issues, labels, assignees, and timestamps.
|
|
108
|
+
- **Runtime Metadata**: `$ROUTINE_ISSUE_NUMBER`, `$GITHUB_RUN_ID`, and runner timestamp.
|
|
109
|
+
- **Prefix Caching Invariant**: Harnesses and runners MUST NEVER interpolate dynamic timestamps, run IDs, or target identifiers into Tier 1 or Tier 2 prefix blocks.
|
|
110
|
+
|