{
  "created_utc": "2026-10-28T19:17:50.404345+00:00",
  "status": "Exploratory specification written after event discovery and before this implementation estimates statistics; not preregistered.",
  "register_sha256": "4b8a718c008fac660a0741757f1d45d437a5c92797210c5ff5e3a5638b2843ae",
  "analysis_unit": "Outlet-country-topic-month; country denotes source assignment, not event location or public opinion.",
  "versions": [
    "raw frozen source counts",
    "partially audited adjusted source counts"
  ],
  "adjustment_assumptions": [
    "Adjusted is a sensitivity copy, not a newly validated corpus. Classification corrections cover the audited records only; untouched records are not verified.",
    "A frozen aggregate correction can be applied only under the parent ledger transfer rules. Matching source-month-topic label totals does not prove article identity because frozen IDs are unavailable.",
    "Live/frozen mismatches and correction exclusions must remain visible. Source geography and denominator adjustments follow the parent ledger; unavailable adjusted denominators make attention unavailable."
  ],
  "outcomes": {
    "tone_points": "100*(positive-negative)/(positive+neutral+negative), undefined at zero articles",
    "attention_percentage": "100*topic_n/country_all_news_n; descriptive, no outlet sampling interval without outlet denominators"
  },
  "contrasts": [
    "selected_month_vs_prior3",
    "official_anchor_month_vs_prior3 when anchor differs",
    "post_months_1_3_vs_pre3",
    "post_months_4_6_vs_pre3"
  ],
  "baseline": "Three full calendar months before the chosen contrast anchor. Post contrasts use the same pre-anchor baseline, not a rolling contaminated baseline.",
  "outlet_method": "For outlets with topic articles in both compared periods, compute each outlet tone difference and average equally. This gives fixed equal weights over the shared set. Report pooled-all, pooled-shared and equal-shared estimates separately. Shared source sets differ by contrast and are not verified continuously collected feeds.",
  "bootstrap": {
    "replications": 10000,
    "seed": 20261028,
    "method": "Resample paired outlet changes with replacement. Percentile 2.5/97.5 summaries are outlet-resampling sensitivity ranges, not calibrated confidence intervals.",
    "few_outlets": "Report G, range and sign counts. No interval with fewer than 2 shared outlets. Few and syndicated/correlated outlets undermine sampling interpretation."
  },
  "leave_one_out": "Recompute equal-shared and pooled-all contrasts dropping each outlet. Report all deletion estimates and range. No significance decision is based on sign unanimity.",
  "time_series": {
    "window": "Anchor month plus 12 months before and 12 after, bounded by January 2012–June 2026.",
    "main_outcome": "Monthly pooled net tone only; country attention remains descriptive.",
    "fit_conditions": "Identifiable dated event, at least 9 usable pre months and 6 post months, nonzero anchor-month topic count, contiguous observed months. No imputation of no-coverage months.",
    "model": "Exclude mixed/partial anchor month from regression. OLS: tone = intercept + linear calendar-month trend + post(month>=1) + post_time(max(month,0)). No single-month pulse dummy is used: its leverage 1 invalidates ordinary residual-based pulse uncertainty.",
    "uncertainty": "Calendar-distance HAC Bartlett lag 2, finite-sample n/(n-k) covariance correction, Student-t reference using residual degrees of freedom. Missing anchor-month scores do not become adjacent-month scores. Lag 3 and one annual sine/cosine pair are prespecified sensitivity specifications. These intervals are exploratory and not selection-adjusted.",
    "reported_estimands": [
      "observed anchor-month deviation without regression interval",
      "mean post-month 1–3 deviation from extrapolated pretrend",
      "post slope change",
      "pretrend slope"
    ],
    "diagnostics": [
      "sample size and counts",
      "lag 1 residual correlation",
      "HAC lag sensitivity",
      "annual-harmonic sensitivity",
      "unweighted time-series versus outlet-composition contrast"
    ],
    "limitations": "25 or fewer points give weak autocorrelation/seasonality identification. No untreated control, no correction for outcome-driven episode selection, and no isolation of overlapping events. Never label coefficients causal effects."
  },
  "no_pvalue_claim": "No confirmatory significance classification, causal effect, public-opinion measure, instrumental variable, or selection-adjusted p-value is produced.",
  "method_sources": [
    {
      "url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC5407170/",
      "use": "Clear intervention timing, prespecified impact shape, autocorrelation/seasonality and time-varying confounders in interrupted series."
    },
    {
      "url": "https://faculty.econ.ucdavis.edu/faculty/cameron/research/Cameron_Miller_JHR_2014_July_09.pdf",
      "use": "Few clusters and dependence make conventional cluster uncertainty unreliable; report cluster counts and qualify resampling."
    },
    {
      "url": "https://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.RegressionResults.get_robustcov_results.html",
      "use": "HAC covariance options and finite-sample correction."
    }
  ]
}
