Skip to main content

Module catalogue

Module catalogue 

Source
Expand description

The dictation model catalogue: the feed’s check and the models page’s view.

The feed itself is forge-dictate’s; this module folds it into what the page draws and owns the rule that decides when a catalogue entry counts as an update to the model in use.

Re-exports§

use std::path::PathBuf; 🔒
use std::time::Duration; 🔒
use std::time::SystemTime; 🔒
use forge_dictate::catalogue::Catalogue; 🔒
use forge_dictate::catalogue::CatalogueEntry; 🔒
use forge_dictate::ModelFacts; 🔒
use forge_dictate::ModelSpec; 🔒
use crate::dictate::DictateModelState; 🔒
use crate::dictate::DictateRole; 🔒
use crate::dictate::DictateSnapshot; 🔒

Structs§

CandidateRow
One compared entry, and what the rule makes of it.
CatalogueJoin
What the feed says about a file the pin names.
CatalogueRow
One catalogue entry, as the page’s candidate rows draw it.
CatalogueState 🔒
The live catalogue state: the last fetched feed and what the last check did.
CurrentFacts
The in-service side of an update’s comparison.
DictateModelsSnapshot
Everything the models page draws, in one read.
DownloadFact
One downloadable quantisation’s size.
InUseModel
One model forge runs, as the page’s IN USE rows draw it.
ModelUpdate
The comparison one role’s model is read against: the model in use, and every English entry it can be compared with, ranked the way the rule ranks them.
SpeedFact
One measured speed row, as the page’s speed line draws it.
WerFact
One accuracy figure and the benchmark it was measured on.

Enums§

CatalogueCheck
What the last catalogue check did.
UpdateVerdict
Why a candidate is, or is not, the one the page proposes.

Constants§

PREFERRED_DOWNLOADS 🔒
The quants a row’s download size prefers, most preferred first: the Q4 build is what a dictation machine runs, and the chain after it keeps a row that ships no Q4 sized rather than sizeless. The quantisations this runtime runs, best first: the order a download is picked in when a source offers several, and the set a cleanup candidate must offer at least one of. One ladder, so a row the feed admits and the download that row resolves to can never disagree.
REFRESH_AFTER 🔒
A fetched feed older than this refreshes at boot. Upstream’s cadence is weeks, so a day is what keeps a restart from being the only way a new variant is ever seen, while a boot nobody asked for a download stays off the network.

Functions§

download_fact 🔒
The entry’s preferred download, by the quantization chain the list draws.
entry_for 🔒
in_use 🔒
The IN USE rows: the model’s declaration, the preflight state, the feed’s entry when there is one, and where the choice came from.
join_for 🔒
The feed’s entry for a pinned file, joined by file name - the one thing the pin and the feed share.
refresh_is_due 🔒
Whether a feed is old enough to fetch again: no feed at all, one stamped older than REFRESH_AFTER, or one whose stamp this build cannot read - acting on an unreadable stamp beats trusting it.
row_for 🔒
Fold one entry into the row a candidate list draws.
speed_fact 🔒
The speed row the entry’s best wall-clock number came from.
updates_for 🔒
The comparison one role’s model is read against: the model in use and every comparable entry, ranked the way the rule ranks them.
wer_fact 🔒
The entry’s comparison axis: FLEURS English where it exists, else the entry’s own headline row.