surlg-mcp gateway

tool: get_sample_composition
{
  "raw_total": 200,
  "analytic_population_total": 180,
  "tier_sizes": {
    "informed": 28,
    "uninformed": 32,
    "mixed": 120
  },
  "confidence": "HIGH",
  "verification": "Confirmed via two independent methods: (1) direct count of the historical tier CSVs after correcting a real double-header-row parsing trap, giving 28/32/117; (2) independent reconstruction from raw Belmont-Report answers (Q8, three specific true/false/unsure statements) plus the White-alone exclusion rule, giving 28/32/120. Method (2) was adopted by explicit decision - the Mixed count is decided as 120, not the historical 117.",
  "supersedes": "n=177 (28/32/117) as published in report.txt and CORPUS.md",
  "open_thread": {
    "description": "The historical mixed.csv tier file (117 rows) is short 3 respondents relative to the 120 the raw data reconstruction supports. Three hypotheses were tested directly against the data and refuted or only partially explained the gap: (a) duplicate/bot IP submissions - refuted, removing them overshoots to 47-62, not 117; (b) missing demographic data (age/sex/province) - refuted, zero missing values found; (c) full answer-pattern duplicate respondents (same demographics + all 7 belief answers) - real but insufficient, found exactly 1 genuine duplicate pair, closing only 1 of the needed 3-person gap.",
    "status": "UNRESOLVED - do not re-derive a different number without new evidence; 120 stands by decision"
  }
}