The constructor of Nanoc::Identifier has an optional :style argument. It currently defaults to "legacy', but that’s not what we want. Maybe having it mandatory (as :type) makes sense, or we default to "full".
pattern_type might be better as string_pattern_type. Regexes are also patterns, but pattern_type doesn’t apply to that.