signals.rs's pass, judge, pace, back_off, check_key and pick_icon ran only against a live Jev. In cargo tests ask now goes to a stand-in for it, served from a thread of its own so every test shares it, answering by key as TypeSafe would: a pass judges each new item once, keeps its verdicts and bills its owner's tokens on their own key; a refused key stops its owner's judging, not anyone else's, and is not sent again; a 429 stops the pass and the next call to Jev waits out Retry-After; a 422 stops the pass rather than repeating on every item; a key check costs tokens; an icon is one Jev was offered, on the server's key. The API: a Signal made, its words trimmed and deduplicated, bad names, words, icons and descriptions refused, renamed and re-worded, its icon cleared, its picked items listed, deleted with its verdicts; someone else's is 404 every way. In the browser, a Signal renamed and deleted from its own page. The coverage run runs the browser Signals tests too (IPX_SIGNALS_TESTS=1): Jev there is the fixture server's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.9 KiB
4.9 KiB