Skip to content

SEP-073: Chart generation from structured data in deep research reports #39

@samudzi

Description

@samudzi

Summary

Generate matplotlib charts from Zorora's structured data (SAPP, Eskom, FRED, World Bank) and embed them in deep research output alongside text synthesis.

Motivation

Published research articles include 4-7 data visualizations per piece. Text-only reports cannot match this quality bar. Zorora already has 64+ time series and feasibility analysis generates matplotlib charts (SEP-045). The data and charting capability exist but are not connected to the deep research output pipeline. Visual-first output is core to Zorora's product vision.

Proposed Change

  • When market context is injected (SEP-070), also generate charts for relevant series
  • Use LLM-generated chart specs (title, series, date range, chart type) based on query
  • Render charts as base64 PNG embedded in synthesis markdown
  • Reuse matplotlib patterns from feasibility analysis (SEP-045)
  • Support line (trends), bar (comparisons), stacked area (composition) charts

Acceptance Criteria

  • Deep research reports include 2-4 embedded charts from Zorora's structured data
  • Charts are contextually relevant to the research query
  • Charts render in the web UI alongside synthesis text

Dependencies

  • Requires SEP-070 (market data in synthesis) for data availability
  • Benefits from SEP-068 (structured output) for section-chart alignment

Priority

P2

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions