Expand description
The application layer: one module per phase, and account_linking for the linking mail
resend, each reading its rows, asking the study registry through its port, deciding, and writing
the decision back.
Use cases call the models crate directly and reach the study registry only through
crate::registry::StudyRegistry or crate::registry::InteractiveStudyRegistry: Suotarโs
client, wire types, request ids, limiter and breakers are runtime::suotarโs.
Modulesยง
- account_
linking ๐ - The account-linking action an admin or a teacher sets off by hand: re-running the linking mail send path for one person on one course. Not a phase: no schedule and no allowance, and no breaker learns from its calls, so one click cannot trip the workersโ.
- batch_
flow ๐ - The loop every โclaim rows, send one batch, write one answer per rowโ flow shares: the claimโs transaction, splitting a batch the study registry refused as malformed, the halves held back and released when a shutdown or an error stops the split, the refusals, one rowโs failed write not costing the rest theirs, the moved-on rows and the batch summary. What goes on the wire, request ids, the limiter and the breakers are the registry adapterโs.
- config_
validation ๐ - The
config-validationphase: the daily pass over every Suotar-enabled moduleโs configuration. - enrolment_
discovery ๐ - The
enrolment-discoveryphase: who the study registry says is on the course. - import ๐
- The
importphase: the one call that creates something in the study registry. - ledger_
snapshot ๐ - The
ledger-snapshotphase: the dayโs queue depth for every ledger state. - legacy_
mirror ๐ - The
legacy-mirrorphase: copying successful registrations to the legacy ledger. - link_
emails ๐ - The
link-emailsphase: turning a claimed mail slot into a queued message. - mail_
queue ๐ - What the two mail phases share: the template lookup, and the accounting of what one iteration queued and skipped.
- materialize ๐
- The
materializephase: the ledger rows for completions that became eligible, and for grades that improved on a registered one. - preconditions ๐
- The
preconditionsphase: moving rows along, or out of, the chain of things that must be true before we submit. - resolve_
enrolments ๐ - The
resolve-enrolmentsphase: which enrolment the attainment belongs to, and what we will send. - retention_
sweep ๐ - The
retention-sweepphase: clearing out records past their retention window. - student_
notifications ๐ - The
student-notificationsphase: the only thing that queues a student mail about a credit registration. - verify ๐
- The
verifyphase: asking the study registry what became of a submission.