Skip to content

Executive summary page — 6-field note header (rating, target, variant view, thesis, risks, catalyst) #21

@DogInfantry

Description

@DogInfantry

Summary

Every generated research note should open with a structured executive summary containing exactly 6 fields: rating, target price, variant view, top-3 thesis points, top-3 risks, and next catalyst. This is the first thing a reader sees and must be immediately decision-useful.

Motivation

Hiring managers and finance professionals reading a sample note spend under 15 seconds on page 1. If it opens with dense boilerplate or a long methodology preamble, they stop reading. A clean 6-field exec summary signals analyst discipline and makes the note instantly skimmable — at zero cost to analytical depth.

Proposed Layout

┌─────────────────────────────────────────────┐
│ AAPL │ BUY │ TP: $215 │ +18% upside          │
│ Variant view: Market underpricing Services margin │
├─────────────────────────────────────────────┤
│ Thesis (3)         │ Risks (3)                  │
│ 1. Services mix    │ 1. China revenue exposure  │
│ 2. Margin exp.     │ 2. Valuation premium       │
│ 3. Capital return  │ 3. AI hardware commoditisat│
├─────────────────────────────────────────────┤
│ Next catalyst: Q2 FY26 earnings — 30 April 2026  │
└─────────────────────────────────────────────┘

Implementation Notes

  • Fields populated from: analyst_views.csv (rating, variant view), LLM extraction (thesis/risks), catalyst.py (next event)
  • If analyst_views.csv has no entry, flag as [System Generated]
  • Rendered as a styled HTML card at the top of Section 1 in the report
  • Also exported as a standalone JSON artifact: outputs/{ticker}_exec_summary.json

Acceptance Criteria

  • Executive summary card rendered at top of HTML note before all other sections
  • All 6 fields populated (with graceful fallbacks if source data missing)
  • Standalone JSON artifact written per ticker per run
  • Card styled consistently with existing report design tokens
  • PDF export includes the exec summary card on page 1
  • Unit test verifying field population logic with fixture inputs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions