Reconcile these anonymized ad and intake exports using only the supplied IDs and stage definitions. Show spend, unique inquiries, booked consults and staff-confirmed retained matters by source, plus unknown/unmatched records and denominators. Distinguish observed attribution from causal ROI. Draft a measurement implementation checklist; do not upload data or invent matches.

INPUTS
ads.csv: source_id, campaign_id, period, spend, currency, attribution_token
intake.csv: intake_alias, attribution_token, source_id, stage, stage_at; stage-dictionary.csv: stage, approved_definition; scope.txt: timezone, window, coverage

OUTPUT
attribution-review.csv: source_id, spend, unique_inquiries, booked_consults, confirmed_retained, unmatched_count, denominator, coverage_warning

Use only these synthetic or firm-approved inputs and preserve source row/page IDs. Keep missing or conflicting evidence unresolved. Return a draft for the named reviewer. Do not send messages, connect accounts, change records or permissions, move money, or make legal decisions. Keep source files unchanged. List missing prerequisites before continuing.
