Skip to content

feat(foreman): coder-strix shares the local lane (bridge 0.6.22) - #8944

Merged
joryirving merged 2 commits into
mainfrom
feat/coder-strix
Aug 10, 2026
Merged

feat(foreman): coder-strix shares the local lane (bridge 0.6.22)#8944
joryirving merged 2 commits into
mainfrom
feat/coder-strix

Conversation

@joryirving

@joryirving joryirving commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • New coder-strix Agent (model: self-hosted, Job-based, polyglot image); the local lane splits per-issue between it and coder.
  • Collapsed to two coders. coder-python/node/go/godot deleted: post-polyglot they differed only by a prompt paragraph that duplicated GATEPROFILE_MAP (which the self-gate runs mechanically). Routing is now one line: LANE_CODER_AGENTS: {"*":["coder","coder-strix"],"frontier":"coder-frontier"}; BASE_CODER_AGENTS and REPO_CODER_AGENTS are gone.
  • The one load-bearing prompt content — coder-godot's GDScript traps — is repo knowledge and moved to windowstead's AGENTS.md (docs: record the testing traps the loop learned misospace/windowstead#323, merge first). All remaining coder prompts gain one line: read the repo's AGENTS.md before starting. That is the general mechanism (and what dispatch#754 will feed).
  • Bridge → 0.6.22 in the same commit (list-valued maps require it).
  • MAX_IN_PROGRESS 3 → 5 against 6 backend slots; litellm gains mutual nvidia ↔ self-hosted fallbacks, mac parallel 2, self-hosted max_out 20480.

How the split works

issue % len — deterministic, so retries land on the backend already holding the issue's prompt cache. Availability is litellm's job (fallbacks), not routing's; the mac sleeping just narrows self-hosted.

Merge notes

  • Merge windowstead#323 first (the traps' new home).
  • One in-flight task references coder-python (kubetix-279); its Job carries its own spec, but let it finish before merging to keep the retry path clean.
  • Needs the usual foreman-agent rollout for the Agent CR cache; coders are Jobs, so only in-flight reviews/gates are touched.
  • self-hosted is already in foreman's litellm key scope — no manual key step.

@joryirving joryirving self-assigned this Aug 10, 2026
@smurf-bot

smurf-bot Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

konflate — summary

Note

+1 added · 6 changed · −4 removed — 11 resources · 4 apps

Blast radius

  • Kustomization llm/foreman — 1 dependent (Kustomization llm/foreman-dispatch-bridge)
  • Kustomization llm/litellm — 1 dependent (Kustomization llm/repo-wiki)

Image changes

image from to
ghcr.io/misospace/foreman-dispatch-bridge sha256:22cd447710bc… sha256:9d5746bdbf3b…

View the full rendered diff →

konflate · rendered 675e164 · advisory, not a gate

@its-saffron

its-saffron Bot commented Aug 10, 2026

Copy link
Copy Markdown

AI Automated Review (incremental)

Analysis engine: self-hosted@https://litellm.jory.dev/v1 (openai) — primary route

Recommendation

Approve. The PR correctly consolidates language-specific coders into a polyglot routing model, bumps foreman-dispatch-bridge to 0.6.22 to support the new list-valued LANE_CODER_AGENTS configuration, and updates agent system prompts to reference repo conventions. All changes align with the PR description and upstream release notes.

Required Checks

  • validate manifest against target cluster version: Verified. No API version changes (helm.toolkit.fluxcd.io/v2, foreman.llmkube.dev/v1alpha1) or deprecated fields were introduced. The manifests are fully compatible with the current cluster version.
  • check for resource quota / limit changes: Verified. CPU and memory limits/requests for the CronJob remain unchanged (requests.cpu: 25m, limits.memory: 128Mi). Note that MAX_IN_PROGRESS was increased from 3 to 5, which increases the bridge's internal concurrency and queue processing load, but this is an application-level config change rather than a Kubernetes resource limit change.

Change-by-Change Findings

  • helmrelease.yaml: Image bumped from 0.6.21 to 0.6.22@sha256:.... Upstream release notes confirm v0.6.22 adds support for splitting a lane's work across a list of coder agents, justifying the LANE_CODER_AGENTS value change from a string to a list (["coder","coder-strix"]). MAX_IN_PROGRESS increased to 5 against 6 backend slots as noted in the PR body.
  • Agent CRs (coder.yaml, coder-strix.yaml, etc.): System prompts updated to instruct agents to read AGENTS.md for repo conventions and testing traps. This matches the PR's goal of consolidating prompt knowledge into a single source of truth.
  • Deleted Agent CRs (coder-python.yaml, coder-node.yaml, coder-go.yaml, coder-godot.yaml): Removed as routing is now handled via the list-valued LANE_CODER_AGENTS map in the bridge, eliminating the need for language-specific Agent CRs.
  • kustomization.yaml: Updated to reflect the deleted agent resources.

Standards Compliance

  • Namespace Convention: metadata.namespace is correctly omitted on the HelmRelease, relying on kustomize injection as documented in AGENTS.md.
  • Image Policy: Container image is pinned by @sha256: digest, adhering to the repository's reproducibility policy for container images.
  • HelmRelease Requirements: Uses spec.chartRef pointing to an OCIRepository, includes spec.interval: 15m, and specifies resource limits. No inline values used for secrets.

Evidence Provider Findings

  • Konflate Rendered Diff: Confirms the CronJob environment variable changes, image digest update, and Agent CR system prompt modifications. No data-loss or immutable field cautions were raised.
  • Upgrade Impact: Upstream release notes for v0.6.22 match the PR's implementation of list-valued coder routing and security patches for msgpack/setuptools. No breaking changes identified.

Tool Harness Findings

Tool calls encountered rate limits (HTTP 429) during web search, but the upgrade-impact evidence provider successfully fetched and summarized the upstream release notes, which were sufficient to validate the bump. No tool-harness diagnostics affect the recommendation.

Unknowns or Needs Verification

  • The PR body notes that windowstead#323 (moving GDScript traps to windowstead's AGENTS.md) should be merged first. Ensure this dependency is resolved before or alongside this merge to prevent agents from referencing a non-existent or outdated trap location.
  • One in-flight task references the deleted coder-python agent; the PR notes letting it finish before merging, which is a valid operational caveat.

@joryirving
joryirving merged commit 73bb854 into main Aug 10, 2026
6 checks passed
@joryirving
joryirving deleted the feat/coder-strix branch August 10, 2026 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant