Module: Ace::Review

Defined in:
lib/ace/review.rb,
lib/ace/review/cli.rb,
lib/ace/review/errors.rb,
lib/ace/review/version.rb,
lib/ace/review/models/reviewer.rb,
lib/ace/review/cli/feedback_cli.rb,
lib/ace/review/cli/commands/review.rb,
lib/ace/review/atoms/slug_generator.rb,
lib/ace/review/models/feedback_item.rb,
lib/ace/review/atoms/priority_filter.rb,
lib/ace/review/atoms/token_estimator.rb,
lib/ace/review/cli/commands/feedback.rb,
lib/ace/review/models/review_options.rb,
lib/ace/review/atoms/preset_validator.rb,
lib/ace/review/molecules/llm_executor.rb,
lib/ace/review/molecules/gh_pr_fetcher.rb,
lib/ace/review/molecules/task_resolver.rb,
lib/ace/review/atoms/retry_with_backoff.rb,
lib/ace/review/molecules/preset_manager.rb,
lib/ace/review/molecules/subject_filter.rb,
lib/ace/review/organisms/review_manager.rb,
lib/ace/review/molecules/prompt_composer.rb,
lib/ace/review/molecules/prompt_resolver.rb,
lib/ace/review/atoms/diff_boundary_finder.rb,
lib/ace/review/atoms/pr_comment_formatter.rb,
lib/ace/review/cli/commands/feedback/list.rb,
lib/ace/review/cli/commands/feedback/show.rb,
lib/ace/review/cli/commands/feedback/skip.rb,
lib/ace/review/molecules/context_composer.rb,
lib/ace/review/molecules/subject_strategy.rb,
lib/ace/review/organisms/feedback_manager.rb,
lib/ace/review/atoms/feedback_id_generator.rb,
lib/ace/review/molecules/context_extractor.rb,
lib/ace/review/molecules/gh_comment_poster.rb,
lib/ace/review/molecules/subject_extractor.rb,
lib/ace/review/molecules/task_report_saver.rb,
lib/ace/review/atoms/context_limit_resolver.rb,
lib/ace/review/cli/commands/feedback/create.rb,
lib/ace/review/cli/commands/feedback/verify.rb,
lib/ace/review/atoms/feedback_slug_generator.rb,
lib/ace/review/cli/commands/feedback/resolve.rb,
lib/ace/review/molecules/gh_comment_resolver.rb,
lib/ace/review/molecules/nav_prompt_resolver.rb,
lib/ace/review/atoms/feedback_state_validator.rb,
lib/ace/review/molecules/feedback_file_reader.rb,
lib/ace/review/molecules/feedback_file_writer.rb,
lib/ace/review/molecules/feedback_synthesizer.rb,
lib/ace/review/molecules/multi_model_executor.rb,
lib/ace/review/molecules/gh_pr_comment_fetcher.rb,
lib/ace/review/molecules/pr_task_spec_resolver.rb,
lib/ace/review/molecules/strategies/full_strategy.rb,
lib/ace/review/molecules/feedback_directory_manager.rb,
lib/ace/review/molecules/strategies/chunked_strategy.rb,
lib/ace/review/molecules/strategies/adaptive_strategy.rb,
lib/ace/review/cli/commands/feedback/session_discovery.rb

Defined Under Namespace

Modules: Atoms, CLI, Commands, Errors, FeedbackCLI, Models, Molecules, Organisms

Constant Summary collapse

VERSION =
'0.53.5'

Class Method Summary collapse

Class Method Details

.configObject

Configuration accessor Follows ADR-022: Configuration Default and Override Pattern Uses Ace::Support::Config.create() for configuration cascade resolution



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/ace/review.rb', line 76

def config
  @config ||= begin
    gem_root = Gem.loaded_specs["ace-review"]&.gem_dir ||
      File.expand_path("../..", __dir__)

    resolver = Ace::Support::Config.create(
      config_dir: ".ace",
      defaults_dir: ".ace-defaults",
      gem_path: gem_root
    )

    # Resolve config for review namespace
    config = resolver.resolve_namespace("review")
    config.data
  rescue => e
    warn "Warning: Could not load ace-review config: #{e.message}" if debug?
    # Fall back to gem defaults instead of empty hash to prevent silent config erasure
    load_gem_defaults_fallback
  end
end

.debug?Boolean

Check if running in debug mode

Returns:

  • (Boolean)


129
130
131
# File 'lib/ace/review.rb', line 129

def debug?
  ENV["ACE_DEBUG"] == "1" || ENV["DEBUG"] == "1"
end

.get(*keys) ⇒ Object

Get configuration value with dot notation



117
118
119
120
121
# File 'lib/ace/review.rb', line 117

def get(*keys)
  keys.reduce(config) do |hash, key|
    hash.is_a?(Hash) ? hash[key.to_s] : nil
  end
end

.reset_config!Object

Reset cached configuration (useful for testing)



124
125
126
# File 'lib/ace/review.rb', line 124

def reset_config!
  @config = nil
end