Class: Ace::Review::CLI::Commands::FeedbackSubcommands::Create
- Inherits:
-
Support::Cli::Command
- Object
- Support::Cli::Command
- Ace::Review::CLI::Commands::FeedbackSubcommands::Create
- Includes:
- SessionDiscovery, Support::Cli::Base
- Defined in:
- lib/ace/review/cli/commands/feedback/create.rb
Overview
ace-support-cli Command class for feedback create
Creates feedback items from review reports in a session directory. Uses LLM to synthesize multiple review reports into unique, deduplicated feedback items with reviewer attribution.
Instance Method Summary collapse
Methods included from SessionDiscovery
#find_all_sessions, #find_latest_session, #resolve_feedback_path, #resolve_session_dir
Instance Method Details
#call(**options) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/ace/review/cli/commands/feedback/create.rb', line 47 def call(**) # Resolve session directory session_dir = resolve_session_dir() unless session_dir raise Ace::Support::Cli::Error.new( "No session found. Run a review first or use --session to specify path." ) end puts "Using session: #{session_dir}" unless quiet?() unless Dir.exist?(session_dir) raise Ace::Support::Cli::Error.new("Session directory not found: #{session_dir}") end debug_log("Session directory: #{session_dir}", ) # Find review report files report_paths = find_review_reports(session_dir) if report_paths.empty? raise Ace::Support::Cli::Error.new( "No review reports found in #{session_dir}. " \ "Expected files like review-report-*.md or review-*.md" ) end puts "Found #{report_paths.length} review report(s)" unless quiet?() report_paths.each { |p| debug_log(" - #{File.basename(p)}", ) } # Create feedback items manager = Organisms::FeedbackManager.new result = manager.extract_and_save( report_paths: report_paths, base_path: session_dir, model: [:model], session_dir: session_dir ) if result[:success] display_success(result, session_dir, ) else raise Ace::Support::Cli::Error.new(result[:error]) end end |