Keep Key Metrics on the Executive Summary's own first page

A summary page that leaves out the actual numbers isn't a summary —
moved the Key Metrics table (and its Monthly Growth Rate note) up
onto the same page as the Executive Summary's goal/verdict/pros/cons,
ahead of the page break. A reader who only reads page 1 now gets
both the verdict and the real numbers behind it; everything else
(Core Message, Roadmap, Follower Growth, All Posts, deep dives) stays
as the optional detail past the break for whoever wants more than
one page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
beantownbabeandClaude Sonnet 5 committed 2026-10-01 09:24:39 +02:00
1 parent 6ba31b6be0
commit e0ef610733
1 file changed
+7 -2
+7 -2
View File
@@ -932,9 +932,12 @@ def build_report_docx(ctx, timeframe_value="all"):
doc.add_heading("Cons", level=2)
for item in cons:
doc.add_paragraph(item, style="List Bullet")
doc.add_page_break()
# --- KPI summary table ---
# --- KPI summary table: kept on the same first page as the Executive Summary
# (not after the page break below) so a reader who only reads page 1 still gets
# the actual numbers, not just the verdict — a "summary page" that leaves out the
# numbers isn't really a summary. Everything from here down is the detailed,
# optional deep dive for whoever wants more than the one page. ---
doc.add_heading("Key Metrics", level=1)
kpi_rows = [
["Month Start", "New Followers", "Total Followers (month end)", "Posts Published",
@@ -959,6 +962,8 @@ def build_report_docx(ctx, timeframe_value="all"):
note.add_run(f"{monthly_growth_rate:+.1f}%").bold = True
note.add_run(". Resets every month against that month's own starting count, not a "
"single fixed baseline for the whole campaign.")
if exec_summary:
doc.add_page_break()
# --- Section abstracts ---
if monthly_notes: