Documentation
How BrowserSift works
BrowserSift runs the same fixed local fixture through three browser engines and produces one structured report per run. Every number in the UI comes from a real measurement; anything not observed is shown as "Not collected" or an explicit unknown rather than being filled in.
The eight report columns
Overview
Compact KPI row, wide trend and load milestones, resource composition, diagnostic distribution and a findings-by-engine matrix. History shows one real recorded point; missing history is never drawn as a curve.
Findings
Master list with severity and affected engines plus a detail pane: reproduction steps, suspected causes, proposed actions, validation steps and limitations. Severity and confidence come from rules; they never upgrade between editions.
Metrics
Per-engine navigation timing (TTFB, DCL, load), FCP and LCP within the bounded observation window, plus long tasks and layout shifts when actually collected. Values not measured show 'Not collected' — 0 is preserved as a genuine zero, missing stays null.
Requests
All recorded requests with type, transfer size and duration. Waterfall offsets are drawn only from real timing data; older records without raw offsets are labelled as missing, never reconstructed from phase totals.
Console
Console messages, warnings, page errors and policy aborts per engine with actual timestamps (atMs) and generated source locations. Policy-aborted entries get their own explanation.
Browsers
Engine versions, host platform (win32-x64), viewport (1440x900), cache mode, network profile and run duration for the recorded run. WebKit is the engine build — it is not Safari.
Analysis context
Technology observations (Vue, WebAssembly) with evidence-only signals, declared adapter strategies and version sources. 'Unknown' means not observed — it is never reported as 'not used'.
Evidence
Collected artifacts listed with kind and size. Protected text, JSON and screenshots load only after an explicit action; traces download instead of rendering. The public recorded dataset contains no evidence files.
Scope and limits (v0.1)
- Fixed local fixture only: the runner targets
fixture.browsersift.internal. External public URLs are never fetched. - Single-run observations: confidence stays "probable" until a separate repeated run reproduces the same finding.
- WebKit is the engine build, not Safari, and Windows hosting is not macOS behaviour.
- Null vs 0: a measured 0 (for example zero layout shifts) is shown as 0; unsupported or unobserved metrics are null and render as "Not collected".
- Performance numbers come from one bounded initial-load sample in an authenticated session — they are not real-user metrics, RUM, CrUX or Lighthouse, and no such module is claimed.
- Source locations are generated bundle positions; no source maps are assumed.
The recorded demo dataset
The public demo replays one sanitized real run recorded on 13 Oct 2026 (recorded-demo-20261013). It contains 4 findings across 3 completed engines, 3 performance measurement sets, 3 technology profiles and an empty evidence list. Private ids, authentication rows, AI interpretations and artifacts were removed — nothing was fabricated to replace them.
Open it at /demo/, or read the static exports generated at build time from the same renderer the app uses:summary andtechnical.