Skip to content

chore: repin harness images to the v0.37.0 release builds (ship the xai-vertex pi extension) - #1025

Merged
waynesun09 merged 1 commit into
mainfrom
chore/bump-images-xai-vertex
Aug 25, 2026
Merged

chore: repin harness images to the v0.37.0 release builds (ship the xai-vertex pi extension)#1025
waynesun09 merged 1 commit into
mainfrom
chore/bump-images-xai-vertex

Conversation

@waynesun09

@waynesun09 waynesun09 commented Aug 25, 2026

Copy link
Copy Markdown
Member

Why

The seven harness image: pins point at builds from the aborted first v0.37.0 attempt (2026-08-23, fullsend rev 1f027be5 — they even carry the 0.37.0 OCI version label). The v0.37.0 that actually shipped on 2026-08-25 is fullsend 84c8bbbb, the merge of fullsend#6572, which vendors the pi-xai-vertex extension into the sandbox image. The registry's 0.37.0 tags now point at that build, but these pins were never moved, so the pinned images have no /usr/local/share/pi-extensions/xai-vertex and any agent selecting an xai-vertex/... model on pi fails at startup:

Error: Failed to load extension "/usr/local/share/pi-extensions/xai-vertex": Extension path does not exist
Error: Model "xai-vertex/xai/grok-4.6" not found. Use --list-models to see available models.

First seen on fullsend-ai/pi-xai-vertex triage run https://github.com/fullsend-ai/pi-xai-vertex/actions/runs/32880776870 — that repo's .fullsend/config.yaml (fullsend-ai/pi-xai-vertex#1) puts triage/review on xai-vertex/xai/grok-4.6 via the per-agent agents: settings from fullsend#6583. Selection itself worked (Model: xai-vertex/xai/grok-4.6 (from … agents.triage), Runtime: pi); only the image content is stale.

What

Seven image: pins → the digests behind the registry's 0.37.0 tags (rev 84c8bbbb). No other change.

image old (aborted 08-23 build, rev 1f027be5) new (:0.37.0, rev 84c8bbbb)
fullsend-sandbox (triage, retro, prioritize, scribe) 9af3fba… 46adf184…
fullsend-code (code, review, fix) 9743bc7b… 7b2bcbdb…

review is included because pi-xai-vertex runs review on Grok too.

Convention: pins reference release-tagged digests, not main :latest. A fullsend release tags agents main as-is (resolveAgentsRef() makes release CLI builds fetch agents@tags/<version>), so whatever sits here ships to that version's users; a :latest pin would silently ship whatever the last main image build changed. The design has an inherent one-release lag (an agents tag can't reference its own release's images) — that's the pin-design item already tracked on the release-gate page, not addressed here.

Verification

podman run --rm --pull=always --entrypoint ls <image> /usr/local/share/pi-extensions:

  • fullsend-sandbox@sha256:46adf184…anthropic-vertex xai-vertex
  • fullsend-code@sha256:7b2bcbdb…anthropic-vertex xai-vertex
  • old 9af3fba… / 9743bc7b…anthropic-vertex only

skopeo inspect docker://ghcr.io/fullsend-ai/fullsend-{sandbox,code}:0.37.0org.opencontainers.image.revision: 84c8bbbb…, created 2026-08-25 01:27/01:38 UTC.

Neither .fullsend/config.yaml nor a new fullsend release changes the image a CI run uses (FULLSEND_SANDBOX_IMAGE is local-dev only), so this pin is the lever. Per-repo consumers on fullsend main resolve fullsend-ai/agents@main, so it takes effect on merge.

@waynesun09
waynesun09 requested a review from a team as a code owner August 25, 2026 18:09
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Bump harness images for xAI Vertex pi support

🐞 Bug fix ⚙️ Configuration changes 🕐 Less than 10 minutes

Grey Divider

AI Description

• Pin all harnesses to images containing the pi xAI Vertex extension.
• Restore startup for pi agents configured with xai-vertex models.
Diagram

graph TD
  H["Harness configs"] --> S["Sandbox image"] --> E["xAI Vertex extension"] --> M["xAI models"]
  H --> C["Code image"] --> E
Loading
High-Level Assessment

Updating the immutable digests is the appropriate approach because CI consumers resolve these harness definitions directly and cannot override the selected image. Mutable tags would reduce reproducibility, while repository-level model configuration or a fullsend release cannot add the missing extension to stale images.

Files changed (7) +7 / -7

Other (7) +7 / -7
code.yamlPin code agent to the xAI-enabled code image +1/-1

Pin code agent to the xAI-enabled code image

• Replaces the code harness image digest with the fullsend-code build containing the pi xAI Vertex extension.

harness/code.yaml

fix.yamlPin fix agent to the xAI-enabled code image +1/-1

Pin fix agent to the xAI-enabled code image

• Replaces the fix harness image digest with the fullsend-code build containing the pi xAI Vertex extension.

harness/fix.yaml

prioritize.yamlPin prioritize agent to the xAI-enabled sandbox image +1/-1

Pin prioritize agent to the xAI-enabled sandbox image

• Replaces the prioritize harness image digest with the fullsend-sandbox build containing the pi xAI Vertex extension.

harness/prioritize.yaml

retro.yamlPin retro agent to the xAI-enabled sandbox image +1/-1

Pin retro agent to the xAI-enabled sandbox image

• Replaces the retro harness image digest with the fullsend-sandbox build containing the pi xAI Vertex extension.

harness/retro.yaml

review.yamlPin review agent to the xAI-enabled code image +1/-1

Pin review agent to the xAI-enabled code image

• Replaces the review harness image digest with the fullsend-code build containing the pi xAI Vertex extension, enabling Grok-based reviews.

harness/review.yaml

scribe.yamlPin scribe agent to the xAI-enabled sandbox image +1/-1

Pin scribe agent to the xAI-enabled sandbox image

• Replaces the scribe harness image digest with the fullsend-sandbox build containing the pi xAI Vertex extension.

harness/scribe.yaml

triage.yamlPin triage agent to the xAI-enabled sandbox image +1/-1

Pin triage agent to the xAI-enabled sandbox image

• Replaces the triage harness image digest with the fullsend-sandbox build containing the pi xAI Vertex extension, preventing xai-vertex startup failures.

harness/triage.yaml

@qodo-code-review

qodo-code-review Bot commented Aug 25, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Harness pins require human approval ✗ Dismissed 📜 Skill insight § Compliance
Description
This PR modifies protected harness/ infrastructure files, so it must receive human review and must
not be auto-approved. The PR description provides a specific operational justification, but that
does not remove the protected-path review requirement.
Code

harness/code.yaml[23]

+image: ghcr.io/fullsend-ai/fullsend-code@sha256:b71d0b934b2e17ac97550450a4ae57e901db8ff925a906277feeeee1f52d3e46
Relevance

●●● Strong

Protected-path governance findings are applicable; harness changes require human review regardless
of operational justification.

PR-#573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 1538392 explicitly designates harness/ as a protected path and requires a finding
whenever it is modified; the cited added line changes the pinned execution image under that path.

harness/code.yaml[23-23]
Skill: pr-review


Grey Divider

Context sources
✅ Compliance rules (platform): 56 rules
✅ Skills: 4 invoked
  code-review
  code-implementation
  pr-review
  docs-review
Review mode: ⚖️ Balanced

Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread harness/code.yaml Outdated
@fullsend-ai-review

fullsend-ai-review Bot commented Aug 25, 2026

Copy link
Copy Markdown

🤖 Review · ⚠️ Cancelled · Started 6:11 PM UTC · Ended 6:18 PM UTC

Commit: cac8b3f · View workflow run →

…ai-vertex pi extension)

The seven harness image: pins point at sandbox 9af3fba / code 9743bc7b,
built 2026-08-23 from fullsend 1f027be5 during the aborted first v0.37.0
attempt (they even carry the 0.37.0 version label). The v0.37.0 that
actually shipped (2026-08-25, fullsend 84c8bbbb = the merge of #6572,
which vendors the pi-xai-vertex extension into the sandbox image) pushed
new 0.37.0 images: sandbox 46adf184 and code 7b2bcbdb. The old pins have
no /usr/local/share/pi-extensions/xai-vertex, so any agent selecting an
xai-vertex/... model on pi fails at startup:

  Error: Failed to load extension "/usr/local/share/pi-extensions/xai-vertex":
  Extension path does not exist
  Error: Model "xai-vertex/xai/grok-4.6" not found.

Seen on fullsend-ai/pi-xai-vertex triage run 32880776870.

Pins reference release-tagged digests, not main :latest, because a
fullsend release tags agents main as-is (resolveAgentsRef fetches
agents@tags/<version> for release CLI builds), so whatever sits here
ships to that version's users.

Verified with "podman run --pull=always ... ls /usr/local/share/pi-extensions"
that both 0.37.0 digests list anthropic-vertex and xai-vertex, and the old
digests list anthropic-vertex only.

Signed-off-by: Wayne Sun <gsun@redhat.com>
@waynesun09
waynesun09 force-pushed the chore/bump-images-xai-vertex branch from cac8b3f to 01d4242 Compare August 25, 2026 18:17
@waynesun09 waynesun09 changed the title chore: bump sandbox and code image pins to builds that ship the xai-vertex pi extension chore: repin harness images to the v0.37.0 release builds (ship the xai-vertex pi extension) Aug 25, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Aug 25, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 6:19 PM UTC · Completed 6:35 PM UTC

Commit: 01d4242 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.16

@fullsend-ai-review fullsend-ai-review Bot added the risk/moderate PR risk: moderate label Aug 25, 2026
@fullsend-ai-review

Copy link
Copy Markdown

Risk Assessment: moderate (2/5)

Details

Low-risk config-only change repinning 7 harness image tags to v0.37.0; Tier 1 is low (1.88) due to minimal line changes and no security/CI/dependency impact, but Tier 2 is elevated (3.50) because these harness files are high-churn, multi-author hotspots with frequent fix commits - composite rounds to moderate.

@fullsend-ai-review

Copy link
Copy Markdown

Review

Findings

Medium

@waynesun09
waynesun09 added this pull request to the merge queue Aug 25, 2026
Merged via the queue into main with commit 18252e8 Aug 25, 2026
75 of 78 checks passed
@waynesun09
waynesun09 deleted the chore/bump-images-xai-vertex branch August 25, 2026 19:28
@fullsend-ai-retro

fullsend-ai-retro Bot commented Aug 25, 2026

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 7:30 PM UTC · Completed 7:40 PM UTC

Commit: 01d4242 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.35

@fullsend-ai-retro

Copy link
Copy Markdown

PR #1025 was a human-authored fix for stale harness image pins that were blocking xai-vertex model use on the pi runtime. The seven harness image: pins pointed at builds from the aborted first v0.37.0 attempt instead of the actual v0.37.0 release. The author (waynesun09) manually repinned all seven digests. The first commit contained incorrect digests; the author caught this and force-pushed an amendment within 8 minutes, cancelling the first review agent run (~7 min wasted compute). The second review completed at $3.16 (opus/high effort), correctly flagging the harness/ protected-path policy requirement. A human reviewer approved and the PR merged cleanly via merge queue in ~1h20m. The workflow was well-executed with no significant quality issues. The systemic root cause — manual image repin after each fullsend release — is comprehensively tracked by fullsend-ai/fullsend#6607, which was filed by the same author alongside this PR. No improvement proposals are warranted that are not already covered by existing open issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

requires-manual-review Review requires human judgment risk/moderate PR risk: moderate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants