Class: Aireview::DryRunPrompts
- Inherits:
-
Object
- Object
- Aireview::DryRunPrompts
- Defined in:
- lib/aireview/dry_run_prompts.rb
Overview
The prompts of a run without calling a model, and everything --dry-run shows. The review key is computed from them too (ReviewMarker): the LLM Critique prompt is built only when an LLM Critique can run, the Jev question templates only when Jev decides.
Constant Summary collapse
- CANDIDATES_JSON =
'[{"id":"C1","file":"path/from/diff.rb","line":1,' \ '"quoted_code":"...","problem":"...","why":"...","suggestion":"...",' \ '"category":"bug","severity":"major"}]'
Instance Method Summary collapse
- #build(merge_request:, changes:, jira_issue: nil, critique: true) ⇒ Object
-
#initialize(config:, context_builder:, logger: Logger.new($stderr)) ⇒ DryRunPrompts
constructor
A new instance of DryRunPrompts.
Constructor Details
#initialize(config:, context_builder:, logger: Logger.new($stderr)) ⇒ DryRunPrompts
Returns a new instance of DryRunPrompts.
17 18 19 20 21 |
# File 'lib/aireview/dry_run_prompts.rb', line 17 def initialize(config:, context_builder:, logger: Logger.new($stderr)) @config = config @context_builder = context_builder @logger = logger end |
Instance Method Details
#build(merge_request:, changes:, jira_issue: nil, critique: true) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/aireview/dry_run_prompts.rb', line 23 def build(merge_request:, changes:, jira_issue: nil, critique: true) @config.require_models!(critique: critique) stages = @config.llm_stages(critique: critique) context = @context_builder.prepare( merge_request: merge_request, changes: changes, jira_issue: jira_issue, critique: critique ) prompts(context, stages, critique).merge(settings(context, stages, critique)) end |