This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch feat/llmao
in repository https://gitbox.apache.org/repos/asf/sling-tooling-jenkins.git
The following commit(s) were added to refs/heads/feat/llmao by this push:
new aeeb1b4 fix: attempt to better handle retries
aeeb1b4 is described below
commit aeeb1b49731465cef7be2299d0870d030bf0a77c
Author: Robert Munteanu <[email protected]>
AuthorDate: Mon Oct 12 18:15:11 2026 +0100
fix: attempt to better handle retries
---
README.md | 4 +++-
vars/slingOsgiBundleBuild.groovy | 8 +++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index fba02c9..cb99a79 100644
--- a/README.md
+++ b/README.md
@@ -83,7 +83,9 @@ Provide either an input string or an input file; the library
has no default task
`llmaoMaxTokens` replaces Pi's default 16,384-token output allowance for this
custom model. A smaller allowance may help a request fit within the remaining
PAT quota, but does not reset or increase that quota or cap the total tokens
used by a multi-step job.
-The library runs [Pi](https://pi.dev) in Docker, configured for LLMAO's
OpenAI-compatible endpoint at `https://llm.apache.org/v1`, with the selected
model and temperature `0.0`. Pi can read, search, edit, and write project files
and run shell commands. Extensions, MCP, automatic project instructions, stored
sessions, retries, and compaction remain disabled.
+The library runs [Pi](https://pi.dev) in Docker, configured for LLMAO's
OpenAI-compatible endpoint at `https://llm.apache.org/v1`, with the selected
model and temperature `0.0`. Pi can read, search, edit, and write project files
and run shell commands. Extensions, MCP, automatic project instructions, stored
sessions, and compaction remain disabled.
+
+Pi retries transient provider/network errors, including HTTP 429 rate limits,
up to 10 times per failed model turn at one-minute intervals. Retries stay in
the same Pi session, preserving tool history and edits; provider-level retries
remain disabled. This polls for quota recovery rather than parsing LLMAO's
custom reset timestamp, and the existing job/process timeouts still apply.
Each run fetches `skills/` from the `master` branch of [Apache Sling
Whiteboard](https://github.com/apache/sling-whiteboard/tree/master/skills),
including references and scripts. All its skills are explicitly available to
Pi, including `update-sling-parent-pom`. The fetched Git revision is logged.
Skills live outside the project checkout and do not appear in the diff. The
parent-POM skill currently targets the latest supported release, not simply the
current version plus one.
diff --git a/vars/slingOsgiBundleBuild.groovy b/vars/slingOsgiBundleBuild.groovy
index 69c128d..4806f8b 100644
--- a/vars/slingOsgiBundleBuild.groovy
+++ b/vars/slingOsgiBundleBuild.groovy
@@ -236,7 +236,13 @@ def runLlmaoOnlyBuild(def globalConfig, Map params) {
]]
]
writeJSON file: 'settings.json', json: [
- retry: [enabled: false, provider:
[maxRetries: 0]],
+ retry: [
+ enabled: true,
+ maxRetries: 10,
+ baseDelayMs: 60000,
+ maxAgentDelayMs: 60000,
+ provider: [maxRetries: 0]
+ ],
compaction: [enabled: false],
cacheWarming: 'off'
]