Expand description
What one Suotar answer does to one ledger row, decided apart from the phases that apply it.
No outcome here may return a state that leads back to import: a row whose import may have
landed must never be sent again.
Structs§
- Outcome
- What the phase writes for this row.
- RowFacts
- The row’s scheduling history, which is all these decisions need from it.
Functions§
- import_
success_ outcome - What an
importanswer that settled the row does to it, including the wait Sisu needs before the first verify poll can find anything. - import_
success_ state - Where a successful
importitem lands the row;sentmeans Sisu has not answered yet. - missing_
context_ outcome - A row
resolve-enrolmentsclaimed but has no completion or module to ask about. Retryable like any other failure, and it accrues retry age, so a row whose context never comes back expires instead of being repolled forever. - request_
level_ 🔒code - request_
level_ outcome - The outcome for every row of a batch Suotar rejected as a whole. On
importall that matters is whether the request could have been acted on: a connection that never opened proves it was not. - retry_
or_ 🔒expire - Retryable until the row has been failing for a week, and then a support case rather than an endless one.
- submission_
uncertain - The one state whose only way out is
verify; every path that cannot prove nothing was created ends here. - submit_
error_ outcome - A per-item error on the calls leading towards a submission. Only
importcreates attainments, so anything uncertain there is verify-only, while the same code onresolve-enrolmentsretries. - unanswered_
item_ outcome - An item we sent and Suotar did not answer. On
importthat leaves us where a timeout does; elsewhere the call simply did not happen for that row. - uncertain_
recheck_ outcome - A fruitless look through
existingAttainmentsfor an attainment we may have created. After enough of them a human checks Sisu by hand; the row still never resubmits. - verify_
error_ outcome - A per-item error while polling
verify. Never a failure: the attainment may exist, and a row marked failed invites a second submission later. - verify_
not_ registered_ outcome - A
verifypoll that Sisu has nothing to say about yet. - verify_
poll_ lease_ until - How long a verify poll pushes the row out of reach while its request is out, so a concurrent iteration cannot poll it twice. The poll’s own outcome overwrites this.