primus.cli.feedback.report_runner module

Shared helpers for running core feedback report blocks directly.

primus.cli.feedback.report_runner.build_feedback_alignment_timeline_report_blocks(output_data: Dict[str, Any], block_config: Dict[str, Any], log_output: str | None = None) → list[Dict[str, Any]]

Split a multi-score FeedbackAlignmentTimeline output into top-level blocks.

primus.cli.feedback.report_runner.build_window_config(*, days: int | None = None, start_date: str | None = None, end_date: str | None = None) → Dict[str, Any]

Build normalized report window config with strict mutual-exclusion rules.

primus.cli.feedback.report_runner.feedback_alignment_methodology_lines(rolling_min_items: int | None = None) → list[str]
primus.cli.feedback.report_runner.run_feedback_alignment_timeline_report(*, scorecard: str, score: str | None = None, days: int | None = None, start_date: str | None = None, end_date: str | None = None, extra_config: Dict[str, Any] | None = None, account_identifier: str | None = None, cache_key: str | None = None, ttl_hours: float = 24.0, fresh: bool = False, background: bool = False, split_score_timelines: bool = True) → Dict[str, Any]

Execute FeedbackAlignmentTimeline and optionally persist each series as a separate top-level report block.

primus.cli.feedback.report_runner.run_feedback_report_block(*, block_class: str, scorecard: str, score: str | None = None, days: int | None = None, start_date: str | None = None, end_date: str | None = None, extra_config: Dict[str, Any] | None = None, account_identifier: str | None = None, cache_key: str | None = None, ttl_hours: float = 24.0, fresh: bool = False, background: bool = False) → Dict[str, Any]

Execute a report block with a feedback-specific config contract.