From b5e7c93f1f4d48f4bf1fc4366ce3e8826a07a402 Mon Sep 17 00:00:00 2001 From: Nicholas Karlson Date: Mon, 19 Jan 2026 00:52:34 -0800 Subject: [PATCH] =?UTF-8?q?Docs:=20Track=20D=20PyPI=20run=20strip=20(Ch16?= =?UTF-8?q?=E2=80=93Ch20)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_ch16_seasonality_baselines.rst | 3 +++ ...venue_forecasting_segmentation_drivers.rst | 3 +++ ...orecasting_fixed_variable_step_payroll.rst | 3 +++ ...flow_forecasting_direct_method_13_week.rst | 3 +++ ...ntegrated_forecasting_three_statements.rst | 3 +++ .../test_workbook_track_d_runstrip_ch16_20.py | 22 +++++++++++++++++++ 6 files changed, 37 insertions(+) create mode 100644 tests/test_workbook_track_d_runstrip_ch16_20.py diff --git a/docs/source/business_ch16_seasonality_baselines.rst b/docs/source/business_ch16_seasonality_baselines.rst index eb6994c..77c3c39 100644 --- a/docs/source/business_ch16_seasonality_baselines.rst +++ b/docs/source/business_ch16_seasonality_baselines.rst @@ -1,3 +1,6 @@ +.. |trackd_run| replace:: d16 +.. include:: _includes/track_d_run_strip.rst + Track D — Chapter 16 ==================== diff --git a/docs/source/business_ch17_revenue_forecasting_segmentation_drivers.rst b/docs/source/business_ch17_revenue_forecasting_segmentation_drivers.rst index f44799b..5502adf 100644 --- a/docs/source/business_ch17_revenue_forecasting_segmentation_drivers.rst +++ b/docs/source/business_ch17_revenue_forecasting_segmentation_drivers.rst @@ -1,3 +1,6 @@ +.. |trackd_run| replace:: d17 +.. include:: _includes/track_d_run_strip.rst + Track D — Chapter 17 ==================== diff --git a/docs/source/business_ch18_expense_forecasting_fixed_variable_step_payroll.rst b/docs/source/business_ch18_expense_forecasting_fixed_variable_step_payroll.rst index 8a5a60d..19d74a2 100644 --- a/docs/source/business_ch18_expense_forecasting_fixed_variable_step_payroll.rst +++ b/docs/source/business_ch18_expense_forecasting_fixed_variable_step_payroll.rst @@ -1,3 +1,6 @@ +.. |trackd_run| replace:: d18 +.. include:: _includes/track_d_run_strip.rst + Track D — Chapter 18 ==================== diff --git a/docs/source/business_ch19_cash_flow_forecasting_direct_method_13_week.rst b/docs/source/business_ch19_cash_flow_forecasting_direct_method_13_week.rst index 05b1958..84a2a28 100644 --- a/docs/source/business_ch19_cash_flow_forecasting_direct_method_13_week.rst +++ b/docs/source/business_ch19_cash_flow_forecasting_direct_method_13_week.rst @@ -1,3 +1,6 @@ +.. |trackd_run| replace:: d19 +.. include:: _includes/track_d_run_strip.rst + Track D — Chapter 19 ==================== diff --git a/docs/source/business_ch20_integrated_forecasting_three_statements.rst b/docs/source/business_ch20_integrated_forecasting_three_statements.rst index dc375fb..e42271a 100644 --- a/docs/source/business_ch20_integrated_forecasting_three_statements.rst +++ b/docs/source/business_ch20_integrated_forecasting_three_statements.rst @@ -1,3 +1,6 @@ +.. |trackd_run| replace:: d20 +.. include:: _includes/track_d_run_strip.rst + Track D — Chapter 20 ==================== diff --git a/tests/test_workbook_track_d_runstrip_ch16_20.py b/tests/test_workbook_track_d_runstrip_ch16_20.py new file mode 100644 index 0000000..ca2996b --- /dev/null +++ b/tests/test_workbook_track_d_runstrip_ch16_20.py @@ -0,0 +1,22 @@ +from __future__ import annotations + +from pathlib import Path + + +def test_track_d_ch16_20_runstrip_present() -> None: + """Guardrail: Track D Ch16–Ch20 docs include the PyPI run-strip.""" + + docs = Path("docs/source") + + cases = { + "business_ch16_seasonality_baselines.rst": "d16", + "business_ch17_revenue_forecasting_segmentation_drivers.rst": "d17", + "business_ch18_expense_forecasting_fixed_variable_step_payroll.rst": "d18", + "business_ch19_cash_flow_forecasting_direct_method_13_week.rst": "d19", + "business_ch20_integrated_forecasting_three_statements.rst": "d20", + } + + for rel, run_id in cases.items(): + text = (docs / rel).read_text(encoding="utf-8") + assert ".. include:: _includes/track_d_run_strip.rst" in text + assert f".. |trackd_run| replace:: {run_id}" in text