feat(canopy-reporting): wire CMS-64 expenditure aggregation from MMIS

Context

aggregate_cms64 in services/canopy-reporting/src/reporting/medicaid.rs:184-255 inserts only enrollment counts. CMS-64 expenditure category is set to coverage_group and member_months ≈ enrolled (line 239 comment).

The HTTP handler at api/mod.rs:587 literally returns "status": "generated (expenditures NULL — requires MMIS)" — admits the gap to callers. CMS-64 is a quarterly federal expenditure report and the NULL columns block submission.

Acceptance criteria

  • MMIS integration shape decided (file feed? API?)
  • Per-category expenditure population matching CMS-64 line item taxonomy
  • Member-months computation refined (currently approximated as enrolled count)
  • Integration test covering one non-NULL category
  • HTTP handler stops emitting the placeholder status string
  • CHANGELOG entry under Changed

Surfaced by

Multi-agent plan-vs-code audit, 2026-05-05.