Full source at `/home/dev/research_loop/production/MSFT/validator.py` (494 lines). Runnable:

```bash
python3 production/MSFT/validator.py   # → {"status": "PASS", ...}
```

Enforces:
- All 6 required files present; MSFT-only ticker; `normalized_gw` blank
- ≥16 vintage rows / ≥8 quarters; ≥4 FY2026 `capex_guidance` vintages
- https provenance; derived SEC actuals must cite `sec.gov`
- **Live snippet integrity**: fetches `source_url` and confirms `source_snippet` for 6 critical guidance/derived rows
- Temporal guidance rollup (blank before FY2025-FQ4; original 77.5 / latest 96.8 chain)
- FY2024 annual anchor distinction in chart
- Live extractor re-run + `build_timeseries.py` regeneration
