{"record":{"id":"18124ba1832d3bf5","repo":"puppetlabs/puppet","slug":"unknown-merge-strategy-strategy","errorCode":null,"errorMessage":"Unknown merge strategy: '%{strategy}'","messagePattern":"Unknown merge strategy: '%(.+?)'","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/merge_strategy.rb","lineNumber":40,"sourceCode":"    def self.strategy(merge)\n      return DefaultMergeStrategy::INSTANCE unless merge\n      return merge if merge.is_a?(MergeStrategy)\n\n      if merge.is_a?(Hash)\n        merge_strategy = merge['strategy']\n        if merge_strategy.nil?\n          # TRANSLATORS 'merge' is a variable name and 'strategy' is a key and should not be translated\n          raise ArgumentError, _(\"The hash given as 'merge' must contain the name of a strategy in string form for the key 'strategy'\")\n        end\n\n        merge_options  = merge.size == 1 ? EMPTY_HASH : merge\n      else\n        merge_strategy = merge\n        merge_options = EMPTY_HASH\n      end\n      merge_strategy = merge_strategy.to_sym if merge_strategy.is_a?(String)\n      strategy_class = strategies[merge_strategy]\n      raise ArgumentError, _(\"Unknown merge strategy: '%{strategy}'\") % { strategy: merge_strategy } if strategy_class.nil?\n\n      merge_options == EMPTY_HASH ? strategy_class::INSTANCE : strategy_class.new(merge_options)\n    end\n\n    # Returns the list of merge strategy keys known to this class\n    #\n    # @return [Array<Symbol>] List of strategy keys\n    #\n    def self.strategy_keys\n      strategies.keys - [:default, :unconstrained_deep, :reverse_deep]\n    end\n\n    # Adds a new merge strategy to the map of strategies known to this class\n    #\n    # @param strategy_class [Class<MergeStrategy>] The class of the added strategy\n    #\n    def self.add_strategy(strategy_class)\n      unless MergeStrategy > strategy_class","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/merge_strategy.rb#L22-L58","documentation":"Error \"Unknown merge strategy: '%{strategy}'\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/merge_strategy.rb:40 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e227c27540975c25aa22d533a52424a9d2fc886a","analyzedAt":"2026-08-21T20:49:46.650Z","schemaVersion":2},"datasetVersion":"2026-08-22T04:17:13.399Z"}