Final car of the convergence train. Supersedes the rename outcome of #522.
With zero TWAP logic left in the module, git mv modules/twap-monitor modules/ccow-monitor as a provably mechanical PR, then enable mainnet. This is the tracker anchor for the generic monitor that #568 already treats as committed.
Why
Rename, not new-module-plus-delete: the 1200-line keeper suite and 995-line run suite travel through every commit, so there is no coverage gap and no dual-maintenance window. TWAP survives as watch scope and vectors, not code, exactly as #138 recorded. Mainnet enablement rides here because the manifest, engine config, and ops scripts all change names in the same sweep.
Scope
git mv, crate name, module label "ccow".
module.mainnet.toml (chain 1, three event rows); engine [chains.1]; wire the existing mainnet cow-venue adapter manifest.
- Sweep
scripts/lib.sh:18, e2e-onchain.sh, baseline_latency.py:88, and the engine.*.toml rows.
- CI
rg gate: zero surviving 0xfdaF… or COMPOSABLE_COW references.
Done when
Blocked by: #655.
With zero TWAP logic left in the module,
git mv modules/twap-monitor modules/ccow-monitoras a provably mechanical PR, then enable mainnet. This is the tracker anchor for the generic monitor that #568 already treats as committed.Why
Rename, not new-module-plus-delete: the 1200-line keeper suite and 995-line run suite travel through every commit, so there is no coverage gap and no dual-maintenance window. TWAP survives as watch scope and vectors, not code, exactly as #138 recorded. Mainnet enablement rides here because the manifest, engine config, and ops scripts all change names in the same sweep.
Scope
git mv, crate name, module label"ccow".module.mainnet.toml(chain 1, three event rows); engine[chains.1]; wire the existing mainnet cow-venue adapter manifest.scripts/lib.sh:18,e2e-onchain.sh,baseline_latency.py:88, and theengine.*.tomlrows.rggate: zero surviving0xfdaF…orCOMPOSABLE_COWreferences.Done when
Blocked by: #655.