The complete `extractor.py` (656 lines) is identical to `/home/dev/research_loop/production/AMZN/extractor.py` — verified by `python3 validator.py` live extractor regeneration (17 rows, snippet integrity PASS). Key behaviors:

- Reads `source_manifest.csv`, fetches SEC/IR HTML with User-Agent
- Parses `us-gaap:PaymentsToAcquireProductiveAssets` from iXBRL contexts for quarterly/annual/YTD capex
- Extracts guidance snippets via regex patterns for FY2025 MD&A and FY2026 $200B 8-K ex99
- Dedupes by SEC > IR priority; derives Q4 FY2025 quarterly from annual minus 9M YTD
- Writes canonical 16-column schema; `normalized_gw` always blank
