Settle the tracker’s ballots under the pack’s rows#
The seat does this in one verb:
$ ljos consensus proj-1a2b
It reads the live trust atoms from the pack and passes them as --trust
to this crate and to the tracker’s own consensus verb. The two settles
weigh one graph.
Feed rows from anywhere#
Rows are JSON, tuples or objects:
$ ljos-consensus settle --issue proj-1a2b --trust '[["alice","carol",0.9],{"from":"carol","to":"alice","weight":0.5}]'
A row from a voter to itself sets its self weight; a voter with no row of its own listens to everyone equally, itself included, as the tracker’s default does.
Anchor the voters#
$ ljos-consensus settle --issue proj-1a2b --susceptibility 0.7
Below one, each voter keeps a share of its own ballot. The run always settles; the shares report where the group’s weight ended up.
Read the answer in a script#
$ ljos-consensus settle --issue proj-1a2b | jq -r '.options[.shares | index(max)]'
settled is false when the budget ran out; engine says which model
answered.
Cross-check with Seldon#
$ ljos-consensus settle --issue proj-1a2b --seldon --out run/
Writes config.toml, network.txt and opinions.txt, runs seldon when
it is on PATH, and reads the final opinions back. The parse path does
not print a residual. When seldon is absent the discrete step is the
settle.