Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLI
Assigneeskeeb

Add repo-level `defaultDriver` to `.swamp.yaml`

Opened by keeb · 4/24/2026· Shipped 4/24/2026

Problem

Repos that want every workflow to default to a specific execution driver have no way to declare that at the repo level. The driver-resolution chain in src/domain/workflows/execution_service.ts:1813–1818 is:

cli > step > job > workflow > "raw"

It never consults RepoMarkerData (src/infrastructure/persistence/repo_marker_repository.ts:42–62), which has no field for a default driver. The only ways to redirect every step away from "raw" today are:

  • Set driver: on every workflow file (or every step)
  • Pass --driver on every swamp workflow run invocation
  • No env var exists for this — only SWAMP_DRIVERS_DIR for the directory path

A RepoMarkerData.datastore field already exists and follows the obvious pattern; defaultDriver would be the symmetric equivalent for the driver tier.

Proposed solution

  1. Add defaultDriver?: string (and defaultDriverConfig?: Record<string, unknown>) to RepoMarkerData in src/infrastructure/persistence/repo_marker_repository.ts
  2. In execution_service.ts:1813–1818, fall back to the repo marker before "raw". New chain: cli > step > job > workflow > repo > "raw"
  3. Optionally: a CLI command to set it cleanly, mirroring swamp datastore setup

Alternatives considered

  • CLI wrapper that injects --driver — only works when users invoke through the wrapper; raw swamp workflow run reverts to "raw".
  • Setting driver: on every workflow — fragile and hostile to ergonomics for repos with many workflows.
  • Per-definition default — the resolveDriverConfig function signature has an unused definition slot; populating it would help but does not cover the "all workflows in this repo" case.
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 3 MOREPR_MERGEDSHIPPED

Shipped

4/24/2026, 5:16:35 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
keeb assigned keeb4/24/2026, 5:08:04 AM

Sign in to post a ripple.