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: 3f01b5508d68662da0c172fecc236175 creationTimestamp: "2026-07-13T14:57:01Z" generation: 7 labels: branch: main build: "110" context: release created-by-lighthouse: "true" event-GUID: 1732ca9a-7ecb-11f1-9c49-f3ec87bbb03d lighthouse.jenkins-x.io/baseSHA: 2021c448eda4a6b9ad3273fb839a98f66161dd97 lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1783954621129" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: capitaltrade-jarvis-main-release-6m6r7 lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: 2021c448eda4a6b9ad3273fb839a98f66161dd97 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-6zzxs-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.22 operation: Update time: "2026-07-13T15:04:13Z" - 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:event-GUID: {} 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-13T15:05:37Z" name: greencapitaltrade-jarvis-main-110 namespace: jx resourceVersion: "185111396" uid: 3a639433-7ec8-4ff0-832e-eb83e727a041 spec: baseSHA: 2021c448eda4a6b9ad3273fb839a98f66161dd97 batchPipelineActivity: {} build: "110" buildLogsUrl: s3://logs-gct-prod-20260425045301534100000007/jenkins-x/logs/greencapitaltrade/jarvis/main/110.log completedTimestamp: "2026-07-13T15:05:30Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: jarvis gitUrl: https://github.com/greencapitaltrade/jarvis.git lastCommitMessage: | fix: fail over model chain when antigravity returns empty output agy_p exits 0 even when the CLI silently drops a response, and an empty file matches none of the blurb/error guards, so agy_p returned 0 with empty stdout. llm_generate() then treated the primary model as a success and never advanced the "|" fallback chain (antigravity|kimi|claude) to the backup model. The stage received empty output — route.sh classify logged "classify returned empty -> will retry next cycle" and exited 0, stranding the issue (root-caused via bifrost#349, unclassified with no jarvis label). Add an empty/whitespace-only output guard after the retry loop: retry (transient), then return non-zero so llm_generate fails over to the next model. Fires only on genuinely empty output (0 non-whitespace bytes), so it cannot discard a short-but-valid generation. Fixes #249 Co-Authored-By: Claude Opus 4.8 (1M context) lastCommitSHA: 5e40839d9ae9893b072231d7f49bee3488b9e565 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/jarvis/main releaseNotesURL: https://github.com/greencapitaltrade/jarvis/releases/tag/v0.15.14 startedTimestamp: "2026-07-13T14:57:01Z" status: Succeeded steps: - kind: Stage stage: completedTimestamp: "2026-07-13T15:05:30Z" name: from build pack startedTimestamp: "2026-07-13T14:57:05Z" status: Succeeded steps: - completedTimestamp: "2026-07-13T14:57:06Z" name: Git Clone startedTimestamp: "2026-07-13T14:57:05Z" status: Succeeded - completedTimestamp: "2026-07-13T14:57:08Z" name: Next Version startedTimestamp: "2026-07-13T14:57:07Z" status: Succeeded - completedTimestamp: "2026-07-13T14:57:11Z" name: Jx Variables startedTimestamp: "2026-07-13T14:57:09Z" status: Succeeded - completedTimestamp: "2026-07-13T14:59:55Z" name: Build Test startedTimestamp: "2026-07-13T14:57:12Z" status: Succeeded - completedTimestamp: "2026-07-13T14:59:55Z" name: Check Registry startedTimestamp: "2026-07-13T14:59:55Z" status: Succeeded - completedTimestamp: "2026-07-13T15:03:54Z" name: Build Container Build startedTimestamp: "2026-07-13T14:59:55Z" status: Succeeded - completedTimestamp: "2026-07-13T15:04:13Z" name: Promote Changelog startedTimestamp: "2026-07-13T15:03:54Z" status: Succeeded - completedTimestamp: "2026-07-13T15:04:16Z" name: Promote Helm Release startedTimestamp: "2026-07-13T15:04:14Z" status: Succeeded - completedTimestamp: "2026-07-13T15:04:55Z" name: Promote Jx Promote startedTimestamp: "2026-07-13T15:04:17Z" status: Succeeded - completedTimestamp: "2026-07-13T15:05:30Z" name: Publish Org Kb startedTimestamp: "2026-07-13T15:04:55Z" status: Succeeded - kind: Promote promote: environment: production pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/4784 startedTimestamp: "2026-07-13T15:04:52Z" status: Succeeded startedTimestamp: "2026-07-13T15:04:52Z" status: Succeeded version: 0.15.14 status: {}