Skip to content

modules: re-point twap-monitor onto pool submit via the cow adapter#469

Open
mfw78 wants to merge 2 commits into
feat/m4-keeper-on-poolfrom
feat/m4-twap-on-pool
Open

modules: re-point twap-monitor onto pool submit via the cow adapter#469
mfw78 wants to merge 2 commits into
feat/m4-keeper-on-poolfrom
feat/m4-twap-on-pool

Conversation

@mfw78

@mfw78 mfw78 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What

Re-points twap-monitor from the legacy shepherd:cow/CowApiHost world onto pool submit and status through the cow venue adapter: adds videre_sdk::keeper wiring (typed CowClient, body version 1), drops the direct cow-api import and the shepherd-sdk cow client dependency, and subscribes to intent-status for submitted-order polling. Per-chain adapter manifests (sepolia, load-mock) are added and every twap-wired engine config is pointed at the manifest matching the chain it indexes, since the adapter fixes its orderbook from the manifest chain at init.

Why

Wave I of #138: twap's chassis port (#147) landed on the legacy CowApiHost seam; this is the second half, re-pointing it onto the generic pool seam per M4.

Testing

Dispatch tests assert behaviour identity against the legacy bridge at the VenueTransport seam (journal, gate, retry effects, throttle-hint backoff, appData digest). Bundle boot proof moves to the videre-host platform suite (twap against the installed cow adapter); the cow-api boot-order invariant re-pins on ethflow-watcher.

AI Assistance

Implemented with Claude Code assistance; human-reviewed.

Closes #327

mfw78 added 2 commits July 17, 2026 20:29
The module flips from the shepherd:cow world onto #[videre_sdk::keeper]:
the manifest declares the client capability and body version 1, the
keeper run submits through the typed CowClient over the module's own
videre:venue/client import, and the direct cow-api import and legacy
cow client bridge drop out. Status transitions the registry polls back
arrive on a cow intent-status subscription.

Behaviour identity is proven at the VenueTransport seam: the dispatch
tests script submit outcomes against the mock host and assert the same
journal, gate, and retry effects as the legacy bridge, including the
throttle hint surviving as an epoch backoff and the appData digest
riding the body verbatim. The bundle boot proof moves to the videre
platform suite (twap against the installed cow adapter); the cow-api
boot-order invariant re-pins on ethflow-watcher. Engine configs that
boot twap install the bundled adapter.
The adapter fixes its orderbook at init from its manifest chain, so a
Sepolia run wired to the mainnet manifest submits to the wrong
orderbook. Add per-chain manifest variants (sepolia, load-mock) and
point every twap-wired engine config at the one matching the chain it
indexes.
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