Skip to main content

Module reconciliation

Expand description

The Reconciliation tab: the failures defined by an absence, which no error count can catch.

Structsยง

CreditRegistrationReconciliation
LegacyLedgerDivergenceRow
A ledger row the legacy study-registry ledger contradicts.
NeverEnteredCompletion
A completion that satisfies the materialise predicate and has no ledger row.
ReconciliationRegistration
One ledger row, flattened to what every reconciliation list needs to name a student and link onwards.

Enumsยง

LiveStateDetector ๐Ÿ”’
A detector that is just โ€œrows currently in this one live stateโ€. The single definition of which states these are and which detector each belongs to โ€” rows_in_states iterates it instead of hand-writing the state list once for the query and again per detectorโ€™s filter.

Constantsยง

DETECTOR_LIMIT ๐Ÿ”’
Rows per detector. These are heavy queries and every list here is meant to be worked through, not scrolled.
NEVER_ENTERED_MIN_AGE_SECS ๐Ÿ”’
A completion younger than this is simply waiting for the next materialize tick.

Functionsยง

_add_routes
get_credit_registration_reconciliation
GET /api/v0/main-frontend/credit-registration-admin/reconciliation - The drift detectors: work the ledger should be doing and is not, and outcomes the study registry and the ledger disagree about.
rows_by_ids ๐Ÿ”’
Reads the same admin projection the explorer uses, so a name, a course and a student number are spelled identically wherever the dashboard shows them.
rows_in_states ๐Ÿ”’
The two detectors that each just read one live state, in one IN-list query and one admin-projection lookup shared across both.
to_legacy_divergence ๐Ÿ”’
to_never_entered ๐Ÿ”’
to_reconciliation_row ๐Ÿ”’