Skip to content

fix(image): ship crew seeds so dynamic crew selection has a catalog - #286

Merged
Sam123ben merged 1 commit into
mainfrom
fix/ship-crews-in-image
Aug 23, 2026
Merged

fix(image): ship crew seeds so dynamic crew selection has a catalog#286
Sam123ben merged 1 commit into
mainfrom
fix/ship-crews-in-image

Conversation

@Sam123ben

Copy link
Copy Markdown
Member

Problem

crews/*.yaml was never copied into the ALM image. Verified on the running worker:

$ pwd
/app
$ echo "$DEVAI_CREWS_DIR"      # unset
$ ls /app
blueprints
specializations

Settings.crews_dir defaults to the bare relative path "crews", resolved against WORKDIR /app. load_seed_crews returns {} for a directory that does not exist — it does not raise — so in production the seed catalog is empty and every dynamic crew pick resolves to nothing. Confirmed in-pod: select_crew(...) returns None for backend, frontend and SRE intents alike, because there is nothing to rank.

This is the remaining half of the silent no-op run. #285 made dynamic selection real and made a no-work run report itself honestly; it could not help while the thing being selected from was empty at runtime.

Change

  • Dockerfile: COPY crews/ /app/crews/, alongside the existing blueprints/ and specializations/ copies.
  • tests/unit/test_image_ships_runtime_catalogs.py: asserts every catalog directory named by a Settings default both exists in the repo and is copied into the image WORKDIR. Verified it fails without the Dockerfile line.

The test covers all three catalogs, not just crews, so the next directory added this way cannot regress the same silent-empty way.

Scope

Dockerfile.sre and Dockerfile.runner are deliberately untouched — neither ships blueprints or specializations either, and neither loads these catalogs. The sre-* blueprints run on the ALM worker, which this fixes.

@Sam123ben
Sam123ben merged commit 05e654a into main Aug 23, 2026
6 checks passed
@Sam123ben
Sam123ben deleted the fix/ship-crews-in-image branch August 23, 2026 13:53
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