apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/jarvis.git lighthouse.jenkins-x.io/job: release pipeline.jenkins-x.io/traceID: 40911f4ae281626ccf75cc2f8f8d2a50 creationTimestamp: "2026-07-20T07:56:56Z" generation: 8 labels: branch: main build: "114" context: release created-by-lighthouse: "true" external-trigger: "true" lighthouse.jenkins-x.io/baseSHA: 68c7f3cce17be8e081049a4606d3e5c69aaf2a9b lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1784534216109" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: greencapitaltrade-jarvis-fbrjt lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: 68c7f3cce17be8e081049a4606d3e5c69aaf2a9b lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: jarvis lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: capitaltrade-jarvis-main-release-lgmrz-from-build-pack-pod provider: github repository: jarvis tekton.dev/pipeline: capitaltrade-jarvis-main-release managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.28 operation: Update time: "2026-07-20T08:07:33Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:pipeline.jenkins-x.io/traceID: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:external-trigger: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:buildLogsUrl: {} f:completedTimestamp: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:status: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-07-20T08:08:49Z" name: greencapitaltrade-jarvis-main-114 namespace: jx resourceVersion: "201903757" uid: 018411d1-b78d-4f5c-a5fd-dae37ecb5c1c spec: baseSHA: 68c7f3cce17be8e081049a4606d3e5c69aaf2a9b batchPipelineActivity: {} build: "114" buildLogsUrl: s3://logs-gct-prod-20260425045301534100000007/jenkins-x/logs/greencapitaltrade/jarvis/main/114.log completedTimestamp: "2026-07-20T08:08:43Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: jarvis gitUrl: https://github.com/greencapitaltrade/jarvis.git lastCommitMessage: | fix(daemon): proactively sync GitHub budget guard so an exhausted guard un-stalls The local Redis budget guard was only ever reconciled with GitHub's real remaining/reset via the reactive gh-failure branch in route_issue. That branch is unreachable once acquire() blocks upfront (block=False returns before any gh call), so once the guard drained below the 5% block threshold it self-reset only on its own local hourly clock, decoupled from GitHub. Every route_retry/webhook/reconcile pass then re-drained each local reset instantly, pinning the daemon in a permanent rate_limit_block loop even while GitHub had ample capacity — a full stall. Add rate_limit_sync_loop(): a bounded timed poll of GitHub's free /rate_limit endpoint (does not count against core) that keeps the guard truthful, so it un-blocks within one interval of GitHub's real window resetting instead of a full local hour. A failed poll leaves the guard untouched so a transient error can't wedge it; the reactive path keeps its conservative 15m hold. Seeds once at boot. Co-Authored-By: Claude Fable 5 lastCommitSHA: 134ad5123f9624d7c33428abd2b56bfbd430fb55 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/jarvis/main releaseNotesURL: https://github.com/greencapitaltrade/jarvis/releases/tag/v0.15.18 startedTimestamp: "2026-07-20T07:56:56Z" status: Succeeded steps: - kind: Stage stage: completedTimestamp: "2026-07-20T08:08:43Z" name: from build pack startedTimestamp: "2026-07-20T07:58:21Z" status: Succeeded steps: - completedTimestamp: "2026-07-20T07:58:24Z" name: Git Clone startedTimestamp: "2026-07-20T07:58:21Z" status: Succeeded - completedTimestamp: "2026-07-20T07:58:29Z" name: Next Version startedTimestamp: "2026-07-20T07:58:28Z" status: Succeeded - completedTimestamp: "2026-07-20T07:59:15Z" name: Jx Variables startedTimestamp: "2026-07-20T07:59:12Z" status: Succeeded - completedTimestamp: "2026-07-20T08:01:43Z" name: Build Test startedTimestamp: "2026-07-20T07:59:19Z" status: Succeeded - completedTimestamp: "2026-07-20T08:01:44Z" name: Check Registry startedTimestamp: "2026-07-20T08:01:44Z" status: Succeeded - completedTimestamp: "2026-07-20T08:07:25Z" name: Build Container Build startedTimestamp: "2026-07-20T08:01:44Z" status: Succeeded - completedTimestamp: "2026-07-20T08:07:33Z" name: Promote Changelog startedTimestamp: "2026-07-20T08:07:26Z" status: Succeeded - completedTimestamp: "2026-07-20T08:07:36Z" name: Promote Helm Release startedTimestamp: "2026-07-20T08:07:33Z" status: Succeeded - completedTimestamp: "2026-07-20T08:08:11Z" name: Promote Jx Promote startedTimestamp: "2026-07-20T08:07:36Z" status: Succeeded - completedTimestamp: "2026-07-20T08:08:43Z" name: Publish Org Kb startedTimestamp: "2026-07-20T08:08:11Z" status: Succeeded - kind: Promote promote: environment: production pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/4802 startedTimestamp: "2026-07-20T08:08:07Z" status: Succeeded startedTimestamp: "2026-07-20T08:08:07Z" status: Succeeded version: 0.15.18 status: {}