Skip to content

packaging: vendor cross-group wit into shepherd and gate tag sync#483

Open
mfw78 wants to merge 4 commits into
feat/m5-wit-local-l2from
feat/m5-wit-local-l3
Open

packaging: vendor cross-group wit into shepherd and gate tag sync#483
mfw78 wants to merge 4 commits into
feat/m5-wit-local-l2from
feat/m5-wit-local-l3

Conversation

@mfw78

@mfw78 mfw78 commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

What

Vendors shepherd's cross-group WIT (nexum:host, videre:types,
videre:value-flow, videre:venue) under shepherd/wit/deps via
wit-deps, replacing the four wit/ symlinks. Retargets the
shepherd:cow layering test at the vendored tree. Extends
check-dep-sync.sh to require one tag per upstream repo across all
groups, not just against the Rust pin. Fixes the nexum-host tag
prefix in videre/wit/deps.{toml,lock} to match the real
nexum-runtime release tag shape.

Why

Closes the last generic-WIT symlink in shepherd so every group
resolves WIT crate-locally and offline ahead of the carve, per
docs/design/videre-split-plan.md section 5 (Phase S2).

Testing

CI gate: fmt, check, clippy -D warnings, nextest, doctest, plus
scripts/check-dep-sync.sh and scripts/check-venue-agnostic.sh.

AI Assistance

Drafted with Claude Code under review.

Closes #405

mfw78 added 4 commits July 18, 2026 07:37
scripts/check-dep-sync.sh asserts the crate DAG points strictly up
across nexum, videre and shepherd for every workspace member (path
deps and wit/ symlinks included), and that the carve dependency
artefacts agree wherever they exist: umbrella [patch] entries target
the owning grouping's in-tree crates and neutralise every written
git-tag pin with no orphans, pins agree on one tag per upstream repo,
each Cargo.repo.toml member list mirrors the umbrella, and wit-deps
manifests and locks stay key-synced with tags matching the Rust pins.
Artefacts a train wave has not written yet skip visibly and enforce
the moment they land. Wired as the blocking dep-sync CI job and a
just check-dep-sync recipe; the git-tag to crates.io and wkg/OCI
convergence path is documented in docs/design/cross-repo-deps.md.
…t-deps manifest

The runtime bindgen and every L1 fixture module already resolve
wit/nexum-host inside the nexum group; check in an empty wit/deps.toml
plus its lock to pin the leaf, and teach the zero-leak gate to fail if
either ever declares a dependency.
Replace the cross-group nexum-host symlink with a wit-deps vendor:
wit/deps.toml pins the package to an exact nexum-runtime git tag,
wit/deps.lock records the content digests, and wit/deps/nexum-host is
checked in so the group resolves WIT crate-locally and offline. The
videre-host and videre-sdk bindgens now read wit/deps/nexum-host.
Replace the symlinked nexum-host and videre packages with vendored
copies under wit/deps, pinned by wit/deps.toml release-tag sources,
and point the layering gate at the vendored tree.
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