Skip to contents

The channel keeps no copy of what it reconciles, so a round leaves no other trace than the outcomes it writes into the register — and those say nothing about the round itself. This record is that.

Usage

round_record(esito, scrittura, posta)

Arguments

esito

What provisioning_reconcile() returned.

scrittura

Whether the round was allowed to write, so a reader of the telemetry can tell the same counts apart simulated and real.

posta

Whether the round was allowed to send. Neither this nor scrittura has a fallback, and for the same reason: a caller that forgets one would report the switch as off, which is the single reading the field exists to make impossible.

Value

A named list, ready to be serialized as one JSON object.

Details

registro_letto is the channel's counterpart of the observer's letture_riuscite, and it exists for the same reason: an alarm that fired on the absence of a record would be satisfied by a round that started, stopped on a drifted dictionary and exited. The question the alarm has to ask is not "did it run?" but "did it get to read the register?".

It also separates an empty register from an unreachable one. Both give righe = 0, and only one of them needs somebody.

One counter per word of the closed outcome vocabulary, named after the word rather than summed into a single "errors": a night of data errors and a night of transport errors look identical in a total, and they go to different people — the referent who filled the row, and IT.