Type: feature
Suggested labels: phase-0, dbt, canonical-model
Update curated competitions, clubs, and games to ingest both Transfermarkt and OpenFootball via canonical mappings while preserving backward compatibility.
Acceptance criteria:
- Curated outputs include source_system, source_record_id, ingested_at.
- Existing consumers can still query current core columns without changes.
- Curated tests pass with both sources enabled.
Dependencies: #6