Documentation
¶
Overview ¶
Command smoke is the cuttle smoke harness - neutral and self-contained.
It drives a running cuttle over CDP and introspects each seed's browser directly - no third-party sites, no network targets, no local server. It checks:
- per-seed fingerprint isolation - each fingerprint seed gets its own coherent identity, so an in-page canvas readback differs across seeds.
- stealth coherence - navigator.webdriver is falsy, the UA/platform agree (a Windows UA must not pair with a non-Windows platform), and the WebGL UNMASKED_RENDERER reads as a real GPU via ANGLE (not SwiftShader/llvmpipe/ Mesa software rendering, the classic automation tell the fork masks).
- connection stability under cold-cycle load - fresh seeds are launched in a loop; every cycle must connect and probe without error.
- stock-Chrome parity on inherited surfaces - the Push API is present with Chrome's content encodings, Notification.permission reads "default" rather than a headless "denied", and cookies are enabled. These come from the upstream ungoogled-chromium patch series, which nothing else in the repo pins: the golden fingerprint snapshot only guards args cuttle itself builds, so a divergence introduced upstream lands silently.
Run: go run ./test/smoke (from the repo root), against a container started with `cuttle serve --mode=pool`: the harness launches one seed per cycle, which only pool mode admits (the default session mode is one browser per container). Green = distinct per-seed canvas, coherent stealth signals, no failures.
Click to show internal directories.
Click to hide internal directories.