Skip to content

feat(capabilities): dual-mode deployment — agent-per-node + squad-per-pod (#514)#555

Merged
bradygaster merged 1 commit intobradygaster:devfrom
tamirdresher:tamirdresher/520-dual-mode-capabilities
Mar 23, 2026
Merged

feat(capabilities): dual-mode deployment — agent-per-node + squad-per-pod (#514)#555
bradygaster merged 1 commit intobradygaster:devfrom
tamirdresher:tamirdresher/520-dual-mode-capabilities

Conversation

@tamirdresher
Copy link
Copy Markdown
Collaborator

Summary

Extends PR #520's capability routing to support both deployment modes:

Mode Env Var Manifest Use Case
agent-per-node (default) none needed .squad/machine-capabilities.json One Ralph per K8s node
squad-per-pod SQUAD_POD_ID=pod-name .squad/machine-capabilities-{podId}.json Full Squad instance per pod

Changes

  • capabilities.ts: Pod-specific manifest loading with fallback chain
  • capabilities.test.ts: 6 new tests for dual-mode behavior
  • machine-capabilities.md: Updated docs with K8s downward API examples

Fallback chain (when SQUAD_POD_ID is set)

  1. .squad/machine-capabilities-{podId}.json (pod-specific)
  2. .squad/machine-capabilities.json (shared)
  3. ~/.squad/machine-capabilities.json (user home)
  4. null (opt-in - all issues pass through)

K8s Integration

env:
  - name: SQUAD_POD_ID
    valueFrom:
      fieldRef:
        fieldPath: metadata.name
  - name: SQUAD_DEPLOYMENT_MODE
    value: squad-per-pod

Closes #514

…uad-per-pod)

Adds SQUAD_POD_ID and SQUAD_DEPLOYMENT_MODE env vars for pod-specific
capability routing. Pod-specific manifests override shared manifests.

Closes bradygaster#514

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster bradygaster merged commit 2995b93 into bradygaster:dev Mar 23, 2026
2 checks passed
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.

feat: Machine Capability Discovery & Label-Based Issue Routing for Ralph

2 participants