Skip to content

packaging: carve nexum-runtime, videre and shepherd into three repos #274

Description

@mfw78

Context. The workspace mixes the generic embeddable runtime (nexum-*) with the concrete CoW "shepherd" instantiation (cow venue, twap-monitor, ethflow-watcher, cow-api host). The plan is to extract the instantiation into its own shepherd repository and rename/move the generic core to nexum-runtime under the nxm-rs org.

Core (stays, becomes nexum-runtime at nxm-rs). nexum-runtime, nexum-cli (generic launch shell), nexum-macros, nexum-sdk, nexum-sdk-test, nexum-venue-sdk, nexum-venue-test, and the generic tools/* plus modules/{example,examples,fixtures} guests.

Instantiation (leaves, becomes shepherd). cow-venue, shepherd-cow-host, shepherd-sdk, shepherd-sdk-test, shepherd-backtest, modules/twap-monitor, modules/ethflow-watcher, and the cow wiring currently inlined in nexum-cli/src/launch.rs (ReferenceTypes, extension::<ReferenceTypes>()).

Post-split work items (parked here).

  • Cow ReferenceRuntime preset in the cow-host: bundle the cow venue, the cow-api host extension, and the strategy modules behind a Runtime preset. Blocked on presets carrying linker extensions (runtime: fold the preset launch-surface into the seam generalization #273).
  • Collapse the shepherd composition root onto the runtime::<R>() preset shortcut once the preset carries extensions.

Open decisions (needs-design). Where the generic nexum binary lives after the split (core shell vs shepherd composition root); how the cross-repo dependency is pinned (git rev, as vertex pins nectar); whether the cow-api WIT packages move with the instantiation.

Relates. #79, #273, #135. #81 shipped the in-tree crate rename, not the repo/org move.

Risk / size. L; multi-repo, breaks import paths for downstream consumers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockedCan't proceed. Waiting on something.breakingWill break existing modules or the host contract.component/toolsload-gen, orderbook-mock, backtest, baseline-latency, packaging/releasedebtCode works but makes future work harder.epicTracks a larger initiative.needs-designRequires thinking. No one has bandwidth.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions