Skip to content

chore: rename shepherd crate to shepherd-engine and canonicalize ghcr image - #642

Merged
mfw78 merged 1 commit into
mainfrom
chore/516-125-m5-finalization
Jul 27, 2026
Merged

chore: rename shepherd crate to shepherd-engine and canonicalize ghcr image#642
mfw78 merged 1 commit into
mainfrom
chore/516-125-m5-finalization

Conversation

@mfw78

@mfw78 mfw78 commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

What

Renames the shepherd workspace crate to shepherd-engine (the shepherd binary name is unchanged via [[bin]] name = "shepherd") and canonicalizes the published ghcr image reference to ghcr.io/nullislabs/shepherd throughout 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-e2e targets), README.md, and adds shepherd/crates/shepherd-engine/{Cargo.toml,src/main.rs} (moved from shepherd/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 under docs/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 shepherd collided in intent with the shepherd binary and the top-level shepherd/ directory, so it is renamed to shepherd-engine for 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 canonical ghcr.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, confirmed Documenting 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).

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
@mfw78
mfw78 merged commit 8fe9f11 into main Jul 27, 2026
9 checks passed
@mfw78
mfw78 deleted the chore/516-125-m5-finalization branch July 27, 2026 12:40
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant