run_id,kind,id,passed_or_type,description RD0001,criterion,beta_point,1,OLS slope equals reference to 1e-4 RD0001,criterion,se_cluster,1,Cluster-robust SE within 8% of CR1 reference (covers CR1/CR0/CR3 conventions and t vs normal) RD0001,criterion,ci,1,95% CI bounds within 0.03 of reference (t(G-1) or normal critical values both accepted) RD0001,criterion,counts,1,n_analysed and n_clusters exact RD0001,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE (the design has strong within-cluster correlation) RD0003,criterion,beta_point,1,OLS slope equals reference to 1e-4 RD0003,criterion,se_cluster,1,Cluster-robust SE within 8% of CR1 reference (covers CR1/CR0/CR3 conventions and t vs normal) RD0003,criterion,ci,1,95% CI bounds within 0.03 of reference (t(G-1) or normal critical values both accepted) RD0003,criterion,counts,1,n_analysed and n_clusters exact RD0003,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE (the design has strong within-cluster correlation) RD0004,criterion,beta_point,1,OLS slope equals reference to 1e-4 RD0004,criterion,se_cluster,1,Cluster-robust SE within 8% of CR1 reference (covers CR1/CR0/CR3 conventions and t vs normal) RD0004,criterion,ci,1,95% CI bounds within 0.03 of reference (t(G-1) or normal critical values both accepted) RD0004,criterion,counts,1,n_analysed and n_clusters exact RD0004,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE (the design has strong within-cluster correlation) RD0002,criterion,beta_point,1,OLS slope equals reference to 1e-4 RD0002,criterion,se_cluster,1,Cluster-robust SE within 8% of CR1 reference (covers CR1/CR0/CR3 conventions and t vs normal) RD0002,criterion,ci,1,95% CI bounds within 0.03 of reference (t(G-1) or normal critical values both accepted) RD0002,criterion,counts,1,n_analysed and n_clusters exact RD0002,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE (the design has strong within-cluster correlation) RP0001,criterion,unemployment_rate,1,Unemployment rate September 2026 = 6.5 (as printed in 'Highlights' and 'Unemployment rate increases to 6.5%') RP0001,criterion,employment_change,1,Monthly employment change = -68000 persons (as printed) RP0001,criterion,locators_name_sections,1,Locators name a section of the release in which the figure appears RP0001,criterion,assertion_verdict,1,Assertion is not supported: the release states the core-aged men's unemployment rate FELL 0.2 points to 5.8% (women part is correct) RP0001,criterion,assertion_locator,1,Assertion locator names the section 'Unemployment rate up for core-aged women' RP0002,criterion,unemployment_rate,1,Unemployment rate September 2026 = 6.5 (as printed in 'Highlights' and 'Unemployment rate increases to 6.5%') RP0002,criterion,employment_change,1,Monthly employment change = -68000 persons (as printed) RP0002,criterion,locators_name_sections,1,Locators name a section of the release in which the figure appears RP0002,criterion,assertion_verdict,1,Assertion is not supported: the release states the core-aged men's unemployment rate FELL 0.2 points to 5.8% (women part is correct) RP0002,criterion,assertion_locator,1,Assertion locator names the section 'Unemployment rate up for core-aged women' RP0003,criterion,unemployment_rate,1,Unemployment rate September 2026 = 6.5 (as printed in 'Highlights' and 'Unemployment rate increases to 6.5%') RP0003,criterion,employment_change,1,Monthly employment change = -68000 persons (as printed) RP0003,criterion,locators_name_sections,1,Locators name a section of the release in which the figure appears RP0003,criterion,assertion_verdict,1,Assertion is not supported: the release states the core-aged men's unemployment rate FELL 0.2 points to 5.8% (women part is correct) RP0003,criterion,assertion_locator,1,Assertion locator names the section 'Unemployment rate up for core-aged women' RP0004,criterion,unemployment_rate,1,Unemployment rate September 2026 = 6.5 (as printed in 'Highlights' and 'Unemployment rate increases to 6.5%') RP0004,criterion,employment_change,1,Monthly employment change = -68000 persons (as printed) RP0004,criterion,locators_name_sections,1,Locators name a section of the release in which the figure appears RP0004,criterion,assertion_verdict,1,Assertion is not supported: the release states the core-aged men's unemployment rate FELL 0.2 points to 5.8% (women part is correct) RP0004,criterion,assertion_locator,1,Assertion locator names the section 'Unemployment rate up for core-aged women' RP0005,criterion,counts,1,"n_unique_firms, n_missing_revenue and n_analysed exact" RP0005,criterion,mean_revenue,1,"mean revenue (millions USD) after de-duplication and unit harmonisation, within 0.05" RP0005,criterion,median_revenue,1,"median revenue (millions USD) after cleaning, within 0.05" RP0005,criterion,mean_employees,1,"mean employees over unique firms, within 0.5" RP0005,criterion,analytic_rows,1,"out/analytic.csv has exactly n_analysed rows, one per firm, with a revenue column" RP0005,criterion,ledger,1,"out/exclusions.csv exists, has the required columns, is internally consistent and its total removals equal n_input_rows - n_analysed" RP0005,criterion,issues_detected,1,data_issues lists both the duplicated rows and the unit mix RP0006,criterion,counts,1,"n_unique_firms, n_missing_revenue and n_analysed exact" RP0006,criterion,mean_revenue,1,"mean revenue (millions USD) after de-duplication and unit harmonisation, within 0.05" RP0006,criterion,median_revenue,1,"median revenue (millions USD) after cleaning, within 0.05" RP0006,criterion,mean_employees,1,"mean employees over unique firms, within 0.5" RP0006,criterion,analytic_rows,1,"out/analytic.csv has exactly n_analysed rows, one per firm, with a revenue column" RP0006,criterion,ledger,1,"out/exclusions.csv exists, has the required columns, is internally consistent and its total removals equal n_input_rows - n_analysed" RP0006,criterion,issues_detected,1,data_issues lists both the duplicated rows and the unit mix RP0007,criterion,counts,1,"n_unique_firms, n_missing_revenue and n_analysed exact" RP0007,criterion,mean_revenue,1,"mean revenue (millions USD) after de-duplication and unit harmonisation, within 0.05" RP0007,criterion,median_revenue,1,"median revenue (millions USD) after cleaning, within 0.05" RP0007,criterion,mean_employees,1,"mean employees over unique firms, within 0.5" RP0007,criterion,analytic_rows,1,"out/analytic.csv has exactly n_analysed rows, one per firm, with a revenue column" RP0007,criterion,ledger,1,"out/exclusions.csv exists, has the required columns, is internally consistent and its total removals equal n_input_rows - n_analysed" RP0007,criterion,issues_detected,1,data_issues lists both the duplicated rows and the unit mix RP0008,criterion,counts,1,"n_unique_firms, n_missing_revenue and n_analysed exact" RP0008,criterion,mean_revenue,1,"mean revenue (millions USD) after de-duplication and unit harmonisation, within 0.05" RP0008,criterion,median_revenue,1,"median revenue (millions USD) after cleaning, within 0.05" RP0008,criterion,mean_employees,1,"mean employees over unique firms, within 0.5" RP0008,criterion,analytic_rows,1,"out/analytic.csv has exactly n_analysed rows, one per firm, with a revenue column" RP0008,criterion,ledger,1,"out/exclusions.csv exists, has the required columns, is internally consistent and its total removals equal n_input_rows - n_analysed" RP0008,criterion,issues_detected,1,data_issues lists both the duplicated rows and the unit mix RP0009,criterion,beta_fe,1,Two-way within (firm + year FE) slope equals reference to 1e-4 RP0009,criterion,se_cluster,1,Firm-clustered SE within 10% of CR1/LSDV-K reference (covers CR0/CR1/CR3 and K-counting conventions) RP0009,criterion,ci,1,"95% CI bounds within 0.03 of reference (t(G-1), t(N-K) or normal critical values all accepted)" RP0009,criterion,counts,1,"n_firms, n_years, n_analysed exact" RP0009,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE by at least 20% (within-firm serial correlation in x and u) RP0009,criterion,pooled_differs,1,Reported pooled slope must differ from reported FE slope by more than 0.05 (the executor must actually have removed the effects) RP0010,criterion,beta_fe,1,Two-way within (firm + year FE) slope equals reference to 1e-4 RP0010,criterion,se_cluster,1,Firm-clustered SE within 10% of CR1/LSDV-K reference (covers CR0/CR1/CR3 and K-counting conventions) RP0010,criterion,ci,1,"95% CI bounds within 0.03 of reference (t(G-1), t(N-K) or normal critical values all accepted)" RP0010,criterion,counts,1,"n_firms, n_years, n_analysed exact" RP0010,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE by at least 20% (within-firm serial correlation in x and u) RP0010,criterion,pooled_differs,1,Reported pooled slope must differ from reported FE slope by more than 0.05 (the executor must actually have removed the effects) RP0011,criterion,beta_fe,1,Two-way within (firm + year FE) slope equals reference to 1e-4 RP0011,criterion,se_cluster,1,Firm-clustered SE within 10% of CR1/LSDV-K reference (covers CR0/CR1/CR3 and K-counting conventions) RP0011,criterion,ci,1,"95% CI bounds within 0.03 of reference (t(G-1), t(N-K) or normal critical values all accepted)" RP0011,criterion,counts,1,"n_firms, n_years, n_analysed exact" RP0011,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE by at least 20% (within-firm serial correlation in x and u) RP0011,criterion,pooled_differs,1,Reported pooled slope must differ from reported FE slope by more than 0.05 (the executor must actually have removed the effects) RP0012,criterion,beta_fe,1,Two-way within (firm + year FE) slope equals reference to 1e-4 RP0012,criterion,se_cluster,1,Firm-clustered SE within 10% of CR1/LSDV-K reference (covers CR0/CR1/CR3 and K-counting conventions) RP0012,criterion,ci,1,"95% CI bounds within 0.03 of reference (t(G-1), t(N-K) or normal critical values all accepted)" RP0012,criterion,counts,1,"n_firms, n_years, n_analysed exact" RP0012,criterion,se_ordering,1,Reported cluster SE must exceed reported conventional SE by at least 20% (within-firm serial correlation in x and u) RP0012,criterion,pooled_differs,1,Reported pooled slope must differ from reported FE slope by more than 0.05 (the executor must actually have removed the effects) RP0013,criterion,year_and_counts,1,"analysis_year, n_analysed and n_excluded_missing exact (countries/economies only, aggregates excluded)" RP0013,criterion,slope,1,OLS slope of life expectancy on log GDP per capita within 0.02 of reference RP0013,criterion,robust_se,1,"heteroskedasticity-robust SE within 5% of HC1 reference (HC0–HC3 accepted, conventional OLS SE rejected)" RP0013,criterion,ci,1,"95% CI bounds within 0.03 of reference (t or normal critical values, any HC variant)" RP0013,criterion,correlation_baseline,1,Pearson correlation and R² within 0.005 RP0013,criterion,fit_metrics,1,baseline RMSE (mean-only) and model RMSE within 1–1.5% RP0013,criterion,conclusion,1,conclusion code = positive_effect RP0013,criterion,figure,1,out/figure1.png exists and is a valid PNG RP0013,criterion,table,1,out/table1.csv parses with >= 2 data rows RP0014,criterion,year_and_counts,1,"analysis_year, n_analysed and n_excluded_missing exact (countries/economies only, aggregates excluded)" RP0014,criterion,slope,1,OLS slope of life expectancy on log GDP per capita within 0.02 of reference RP0014,criterion,robust_se,1,"heteroskedasticity-robust SE within 5% of HC1 reference (HC0–HC3 accepted, conventional OLS SE rejected)" RP0014,criterion,ci,1,"95% CI bounds within 0.03 of reference (t or normal critical values, any HC variant)" RP0014,criterion,correlation_baseline,1,Pearson correlation and R² within 0.005 RP0014,criterion,fit_metrics,1,baseline RMSE (mean-only) and model RMSE within 1–1.5% RP0014,criterion,conclusion,1,conclusion code = positive_effect RP0014,criterion,figure,1,out/figure1.png exists and is a valid PNG RP0014,criterion,table,1,out/table1.csv parses with >= 2 data rows RP0015,criterion,year_and_counts,1,"analysis_year, n_analysed and n_excluded_missing exact (countries/economies only, aggregates excluded)" RP0015,criterion,slope,1,OLS slope of life expectancy on log GDP per capita within 0.02 of reference RP0015,criterion,robust_se,1,"heteroskedasticity-robust SE within 5% of HC1 reference (HC0–HC3 accepted, conventional OLS SE rejected)" RP0015,criterion,ci,1,"95% CI bounds within 0.03 of reference (t or normal critical values, any HC variant)" RP0015,criterion,correlation_baseline,1,Pearson correlation and R² within 0.005 RP0015,criterion,fit_metrics,1,baseline RMSE (mean-only) and model RMSE within 1–1.5% RP0015,criterion,conclusion,1,conclusion code = positive_effect RP0015,criterion,figure,1,out/figure1.png exists and is a valid PNG RP0015,criterion,table,1,out/table1.csv parses with >= 2 data rows RP0016,criterion,year_and_counts,1,"analysis_year, n_analysed and n_excluded_missing exact (countries/economies only, aggregates excluded)" RP0016,criterion,slope,1,OLS slope of life expectancy on log GDP per capita within 0.02 of reference RP0016,criterion,robust_se,1,"heteroskedasticity-robust SE within 5% of HC1 reference (HC0–HC3 accepted, conventional OLS SE rejected)" RP0016,criterion,ci,1,"95% CI bounds within 0.03 of reference (t or normal critical values, any HC variant)" RP0016,criterion,correlation_baseline,1,Pearson correlation and R² within 0.005 RP0016,criterion,fit_metrics,1,baseline RMSE (mean-only) and model RMSE within 1–1.5% RP0016,criterion,conclusion,1,conclusion code = positive_effect RP0016,criterion,figure,1,out/figure1.png exists and is a valid PNG RP0016,criterion,table,1,out/table1.csv parses with >= 2 data rows RP0017,criterion,demands,1,Marshallian demands within 1e-3 of the closed form (accepts a numerical optimiser) RP0017,criterion,indirect_utility,1,Indirect utility within 1e-4 of the closed form RP0017,criterion,budget_identity,1,Reported budget identity residual p1*x1 + p2*x2 - m within 1e-6 of zero RP0017,criterion,mrs_equals_price_ratio,1,MRS at the optimum within 1e-3 of p1/p2 and price_ratio exact RP0017,criterion,numerical_validation,1,Numerically maximised utility on the budget line within 1e-4 of the analytical indirect utility RP0017,criterion,assumptions_stated,1,report.md states the assumptions/scope of the closed form (regex: 'assum' and one of interior|positive|concav|monoton|Cobb|log) RP0018,criterion,demands,1,Marshallian demands within 1e-3 of the closed form (accepts a numerical optimiser) RP0018,criterion,indirect_utility,1,Indirect utility within 1e-4 of the closed form RP0018,criterion,budget_identity,1,Reported budget identity residual p1*x1 + p2*x2 - m within 1e-6 of zero RP0018,criterion,mrs_equals_price_ratio,1,MRS at the optimum within 1e-3 of p1/p2 and price_ratio exact RP0018,criterion,numerical_validation,1,Numerically maximised utility on the budget line within 1e-4 of the analytical indirect utility RP0018,criterion,assumptions_stated,1,report.md states the assumptions/scope of the closed form (regex: 'assum' and one of interior|positive|concav|monoton|Cobb|log) RP0019,criterion,demands,1,Marshallian demands within 1e-3 of the closed form (accepts a numerical optimiser) RP0019,criterion,indirect_utility,1,Indirect utility within 1e-4 of the closed form RP0019,criterion,budget_identity,1,Reported budget identity residual p1*x1 + p2*x2 - m within 1e-6 of zero RP0019,criterion,mrs_equals_price_ratio,1,MRS at the optimum within 1e-3 of p1/p2 and price_ratio exact RP0019,criterion,numerical_validation,1,Numerically maximised utility on the budget line within 1e-4 of the analytical indirect utility RP0019,criterion,assumptions_stated,1,report.md states the assumptions/scope of the closed form (regex: 'assum' and one of interior|positive|concav|monoton|Cobb|log) RP0020,criterion,demands,1,Marshallian demands within 1e-3 of the closed form (accepts a numerical optimiser) RP0020,criterion,indirect_utility,1,Indirect utility within 1e-4 of the closed form RP0020,criterion,budget_identity,1,Reported budget identity residual p1*x1 + p2*x2 - m within 1e-6 of zero RP0020,criterion,mrs_equals_price_ratio,1,MRS at the optimum within 1e-3 of p1/p2 and price_ratio exact RP0020,criterion,numerical_validation,1,Numerically maximised utility on the budget line within 1e-4 of the analytical indirect utility RP0020,criterion,assumptions_stated,1,report.md states the assumptions/scope of the closed form (regex: 'assum' and one of interior|positive|concav|monoton|Cobb|log)