Skip to content

examples: adopt the keeper vernacular for the submitter modules #522

Description

@mfw78

From a naming review (2026-07-21). Target: L3 shepherd modules.

The submitter modules that keep a position by submitting intents to a venue should use the "keeper" vernacular; the pure observers should not. Classification (verified against the end-of-train tree):

module location venue submission verdict
twap-monitor shepherd/modules yes keeper (header already says so)
ethflow-watcher shepherd/modules yes keeper
stop-loss shepherd/modules/examples yes keeper
balance-tracker nexum/modules/examples none observer - NOT a keeper
price-alert nexum/modules/examples none observer - NOT a keeper

Scope

Rename for the three keepers (twap-monitor, ethflow-watcher, stop-loss):

  • src/strategy.rs -> src/keeper.rs
  • mod strategy -> mod keeper; strategy:: -> keeper::
  • doc header -> "keeper module" (twap-monitor already reads this; align the other two)

Explicitly EXCLUDE the observers balance-tracker and price-alert: zero venue interaction (pure watch + log), so "keeper" would mislabel them. They keep strategy.rs (or move to a monitor/observer term under a separate decision).

Timing

These exact modules are re-pointed onto the pool submit path in the M4 cars (#469 twap-on-pool, #470 ethflow-on-pool, #472 ConditionalOrderRemoved). Do the rename as part of, or right after, that M4 work so it rides the reshaping rather than colliding with it - a standalone rename in dev/m1 now conflicts with every M4 module car on ripple.

Acceptance criteria

  • twap-monitor / ethflow-watcher / stop-loss use keeper.rs + mod keeper + a "keeper module" header.
  • balance-tracker / price-alert unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions