Skip to content

modules: re-point ethflow-watcher onto the pool observe path#470

Open
mfw78 wants to merge 1 commit into
feat/m4-twap-on-poolfrom
feat/m4-ethflow-observe
Open

modules: re-point ethflow-watcher onto the pool observe path#470
mfw78 wants to merge 1 commit into
feat/m4-twap-on-poolfrom
feat/m4-ethflow-observe

Conversation

@mfw78

@mfw78 mfw78 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What

Re-point ethflow-watcher off shepherd:cow/cow-api onto the videre videre:venue/client pool observe path (observe-only, no submit). Teach videre-host to watch externally-obtained receipts.

Why

Ethflow observation should ride the generic seam like twap's submit path, removing another legacy cow-api consumer ahead of the cone retirement.

Testing

Full gate green (fmt, check, clippy -D warnings, nextest 826, doctests). The cow-boot invariant test re-homed onto stop-loss (the remaining cow-api module) since both twap and ethflow are now off cow-api.

AI Assistance

Implemented and red-teamed with Claude; the stack-rebase conflict (both re-points obsoleted the cow-boot tests) was hand-resolved.

Closes #328.

The videre client face gains observe: put an externally-obtained
receipt (an on-chain placement the pool never submitted) under the
registry's status watch. The registry resolves the venue and admits the
watch without touching the adapter; refusal at the watch cap is a typed
unavailable. HostVenues and the typed VenueClient carry the new verb;
the transport trait defaults it to unsupported so existing transports
opt in.

ethflow-watcher flips onto that seam: the module is now a
the legacy cow-api extension. on_chain_logs computes each placement's
orderbook UID and observes it at the cow venue; the registry polls the
adapter and fans intent-status transitions back, and the module
journals observed:{uid} on the first one. Observe-only is preserved: no
call path reaches quote, submit, status, or cancel.

The shepherd-backtest rlib replay drives the same strategy pair over a
recording pool transport and delivers the open transition the registry
would poll, keeping the Observed classification exact-UID strict. The
ethflow boot e2e moves from the cow-api extension suite to the venue
platform suite.
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