Migration engine
Migrations
Move student data between SRS platforms with a policy DSL covering the ten classic migration decision points — and dry-run any policy before you commit a single write.
Run a dry-run simulation
See impacted-row counts, per-row decisions and conflicts with zero writes. No
migration.trigger audit event is emitted.Worked example — UKCBC: SITS → SJMS-5
The seven-beat migration slice for a franchised college, end to end: the SITS file drop, the SITS↔HESA crosswalk with unmapped codes flagged rather than guessed, record-level validation, identity reconciliation, the franchise split, the named policy decisions, and the governed load into SJMS-5. Reference material over a synthetic fixture —
isFiledReturn: false.Policy decision points
Each migration policy bundle configures these ten slots.
1CRN generation
2SCJ_CODE attempt
3Multi-curriculum split
4Component marks
5Credit-hours
6Grade scheme
7Term → academic year
8Fee status
9Classification gap
10Intercalation