Wire up the field registry's legacy_db source mappings so the canonical profile
reads/writes legacy Rails tables, giving a unified profile view that layers:
legacy_db → hubspot → canonical_store (highest priority wins).
lib/legacy-profile-reader.tslegacy_db source_mappingsstudent_id for most tables, person_id for personal_informationsRecord<field_key, value> with source metadatalib/canonical-profile.tsreadCanonicalProfile(studentId, personId) functionapp/api/student/profile/prefill/route.ts{ data, sources } where sources tracks which layer each value came fromapp/api/student/profile/route.ts GET uses readCanonicalProfile()studentId and personId from getStudentContext()app/api/admin/students/[id]/profile/route.ts GET uses readCanonicalProfile()person_id from the student recordlegacy_db mapping, write it back[HEL-662] tag