The (operation class, engine, version range) -> {lock, cost} mapping. This is DATA, not conditionals; layer 4's lock-verification suite is its empirical anchor. Anything absent returns :unmapped and Effects applies the conservative default (AEL + rewrite + tripwire finding).
Summary
Functions
@spec classes() :: [atom()]
@spec entry(atom(), :postgres | :cockroachdb, integer()) :: {Cerbero.DDL.Effect.lock(), Cerbero.DDL.Effect.cost()} | :unmapped