check / check (push) Successful in 9s
A Reporter beside AppState POSTs each host's unreported, non-paused samples to /api/v1/reports every reportInterval (default 60s). buildReport is an exported pure function of host state; init() runs only when #app exists, so a test can import the module. A per-host mark advances only on a delivered POST. At most one report POST is pending at a time and it is abandoned after half the interval, so a slow POST never overlaps the next report and a mark never moves backwards. The samples of an abandoned POST are sent again at the next interval, so a backend that stored them but answered late receives them twice. Failure is quiet and never blocks probing. vite.config.js proxies /api for yarn dev. Model: opus-5-5