Here the deck talks to a trieur server simulated inside this tab โ same routes, same deduplication by
event id as @trieur/server. Cut the network and keep sorting: the local model still answers, the
event queue fills up, and everything leaves when the connection returns. Nothing is lost, nothing is learned
twice.
What it does not change: the gesture loop. The card is already under the finger when a zone has to be suggested โ the local model answers, always. The server is only asked when the local model has nothing to say, with a short deadline, and its silence never prevents sorting.
What it changes:
// light mode โ nothing leaves the browser
const brain = createRecommender({ key: 'links' });
// full mode โ the only difference
const brain = createRecommender({
key: 'links',
server: { url: 'https://trieur.example.com', token: 'โฆ' },
});