Browser setup
Install the beacon and an Istanbul-compatible build instrumenter:oxc-coverage-instrument in the production build so it populates window.__coverage__. Then start the browser beacon from the application entrypoint:
fallow_pub_k1_ in browser code. It can only call POST /v1/ingest. Never embed a full fallow_live_k1_ key in a browser bundle.
The first browser snapshot can contain only startup code. The beacon intentionally skips that incomplete snapshot. Navigate through at least one real workflow, wait for the 30-second flush, or hide the page to trigger a flush.
Node setup
Node can read V8 coverage whenNODE_V8_COVERAGE is present before process startup. The beacon cannot enable V8 coverage after the process has started.
fallow_live_k1_ key and keep it server-side. Bun and Deno need build-time Istanbul instrumentation because their V8 capture path is unavailable or incomplete.
Verify the first ingest
The beacon is quiet on successful uploads. Verify one of these observable signals:POST https://api.fallow.cloud/v1/ingestreturns202 Acceptedin the browser network panel or server proxy logs.- The onboarding card at fallow.cloud changes to a repository row after aggregation.
- The key’s
last usedvalue updates under Settings, API keys.
202 response and the repository row is expected.
If the dashboard stays empty
Check these in order:endpointis exactlyhttps://api.fallow.cloud.- Browser code uses an ingest-only key. Server code uses a full key.
- The configured environment variable exists in the production build or process.
projectIdis stable and different for each repository or service.- Browser builds contain Istanbul counters, or Node started with
NODE_V8_COVERAGE. - The app exercised real routes or jobs after the beacon started.
- The first
/v1/ingestresponse is202, not401,403,402,413, or429.
onRuntimeMismatch error and stops. Fix that message before waiting for another batch.
Add static inventory
Runtime capture tells Fallow what V8 or Istanbul observed. Upload the static inventory in CI to make functions that were never tracked visible asuntracked:
fallow coverage for the inventory and source-map commands.