fn resume_state(
has_submitted_attainment_id: bool,
has_payload_snapshot: bool,
frozen_identity_stale: bool,
payload_unweighed_against_held_credit: bool,
) -> CreditRegistrationStateExpand description
Where a failed_retryable row goes when its backoff elapses, derived from how far it had got.
Never submitting: only the import phase writes that, in the transaction before it sends.
frozen_identity_stale demotes a frozen payload to no payload at all. Only a notRegistered
resend clears selected_enrolment_id/grade_id, so a row sent back to re-resolve after a
relink still looks frozen; without this it would resume at checking_enrolment and import the
previous number.
payload_unweighed_against_held_credit also resolves again: another row of the module holds a
credit this row is not marked to replace, and only resolve-enrolments may weigh the two and hand
this row that row’s slot in uq_credit_registrations_person_module. Import would otherwise hold
the row back for good.