chore: rename shepherd crate to shepherd-engine and canonicalize ghcr image - #642
Merged
Conversation
Rename the shepherd/crates/shepherd package to shepherd-engine to disambiguate it from the repo name in cargo tree/search, while keeping the built artefact and invoked command as the shepherd binary via an explicit [[bin]] entry. Update every cargo -p shepherd package reference (justfile, Dockerfile, scripts, engine.m3.toml, docs) to shepherd-engine; binary invocations, target paths, and docker COPY/ENTRYPOINT of the shepherd artefact are untouched. Align docker-compose.yml and its stale comment, plus .env.example, on the canonical ghcr.io/nullislabs/shepherd image the publish workflow already pushes (IMAGE_NAME = github.repository), and fix the docker.yml header comment naming the wrong org/image. Closes #516, #125
This was referenced Jul 27, 2026
mfw78
added a commit
that referenced
this pull request
Jul 27, 2026
… image (#642) chore: rename composition-root crate and align ghcr image name Rename the shepherd/crates/shepherd package to shepherd-engine to disambiguate it from the repo name in cargo tree/search, while keeping the built artefact and invoked command as the shepherd binary via an explicit [[bin]] entry. Update every cargo -p shepherd package reference (justfile, Dockerfile, scripts, engine.m3.toml, docs) to shepherd-engine; binary invocations, target paths, and docker COPY/ENTRYPOINT of the shepherd artefact are untouched. Align docker-compose.yml and its stale comment, plus .env.example, on the canonical ghcr.io/nullislabs/shepherd image the publish workflow already pushes (IMAGE_NAME = github.repository), and fix the docker.yml header comment naming the wrong org/image. Closes #516, #125
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Renames the
shepherdworkspace crate toshepherd-engine(theshepherdbinary name is unchanged via[[bin]] name = "shepherd") and canonicalizes the published ghcr image reference toghcr.io/nullislabs/shepherdthroughout the repo.Crate rename touches
Cargo.toml(workspace members),Dockerfile(cargo chef cook -p shepherd-engine,cargo build -p shepherd-engine),justfile(build-engine,check,run-m2,run-m3,run-e2etargets),README.md, and addsshepherd/crates/shepherd-engine/{Cargo.toml,src/main.rs}(moved fromshepherd/crates/shepherd/).Image rename touches
.github/workflows/docker.yml,docker-compose.yml,.env.example,Dockerfile,README.md,engine.m3.toml,scripts/e2e-run.sh,scripts/load-run.sh, and the docs underdocs/deployment.md,docs/production.md,docs/design/pre-carve-runbook.md,docs/operations/{e2e,m2,m3}-testnet-runbook.md.Why
Closes #516: the crate name
shepherdcollided in intent with theshepherdbinary and the top-levelshepherd/directory, so it is renamed toshepherd-enginefor clarity while keeping the shipped binary name stable.Closes #125: prior references used inconsistent image names (
ghcr.io/<owner>/nullis-shepherd,ghcr.io/bleu/nullis-shepherd), so all references are consolidated on the canonicalghcr.io/nullislabs/shepherd.Testing
Verified branch chore/516-125-m5-finalization independently in a fresh worktree at the fetched origin commit 7f3fdcc (repo: /code/nxm/runtime).
Gates (all via
nix develop -c, from the worktree):cargo fmt --all -- --check: clean, no diffs.just ci(full battery): fmt check,cargo clippy --workspace --all-targets --all-features -- -D warnings(clean),./scripts/check-carve-groups.sh-> "carve-groups: OK - every workspace crate is grouped and depends only within or below its tier",cargo doc --workspace --no-deps(clean, confirmedDocumenting shepherd-engine v0.1.0 (.../shepherd/crates/shepherd-engine)), release wasm32-wasip2 builds for all 14 modules plus the cow-venue adapter component,cargo nextest run --workspace --all-features --no-fail-fast-> 866 passed.Models used: sonnet (implementation, gate, this PR).