Skip to content

cow: retire the legacy cow-api host shim and cow cone #293

Description

@mfw78

Part of #138. Follow-on-train item. Once the CoW submit/status path is served by the cow-venue adapter over wasi:http (nexum-venue-sdk transport::http) and the flagship modules are re-pointed onto the pool, the legacy host cow-api shim is dead weight. This issue makes the cow-cone deletion #138 calls for a first-class, closeable line item rather than epic prose.

Scope. Delete the interim host-side CoW shim and its interface:

  • crates/shepherd-cow-host (the shepherd:cow/cow-api Host impl over cowprotocol::OrderBookApi / OrderBookPool per ADR-0005) and its cow_api::add_to_linker wiring in nexum-cli/src/launch.rs;
  • wit/shepherd-cow (the cow-api interface, request / submit-order, and the cow-api-error variant);
  • crates/shepherd-sdk/src/cow/* (the guest-side cow client cone) once the modules no longer import it;
  • the shepherd-cow-host workspace-member entry in the root Cargo.toml.

Depends on. The cow adapter component slice + [[adapters]] bundling; #147 (twap-monitor) and #148 (ethflow-watcher) re-pointed onto the pool submit/status; #149 (MockVenue). Gated on the adapter path passing grant evidence per #138 (the legacy path is retired only after the adapter path passes evidence). #136's shepherd-sdk workspace-member removal sequences after this.

Acceptance. No workspace crate references shepherd_cow_host, the shepherd:cow WIT package, or shepherd_sdk::cow; the CoW submit/status path is served entirely by the venue-adapter over wasi:http; cargo build --workspace and tests are green with the cone removed; ADR-0005 and ADR-0006 are marked superseded by the venue-adapter architecture.

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/cow-integrationshepherd:cow / cow-api order submissiondebtCode works but makes future work harder.effort/hoursFew hours. Single PR.pr-trainPart of the current stacked PR train; lands in sequence, do not merge out of order.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions