Cross-platform capture smoke evidence
This directory holds the schema, a canonical sample, and the manual evidence policy for the production-path capture fidelity smoke. The smoke proves that the current Krometrail capture pipeline (ProductionBrowserConnector + cdpkit 0.4.0 + supervised targets + bounded ingestion) captures frames, reports loss honestly, and cleans up after itself on supported platform/Chrome combinations.
Files
schema.json— Draft 2020-12 JSON Schema forCrossPlatformSmokeEvidence.sample.json— Hand-authored, schema-valid canonical example pinned to the serializer's canonical byte layout. The deterministic round-trip test asserts thatserde_json::to_vec_pretty(&CrossPlatformSmokeEvidence::sample())equals this file byte-for-byte.linux-chrome.json— Decisive Linux Chrome evidence from revision595f079ce9772e3974f65bdc62ad70b01c17dbce.macos-chrome-default-dpi.json— Decisive macOS default-DPI evidence from revision4dfc78b2a6e91c3404fc58c3c8b98c5b6d662fdcand hosted run29288634536.README.md— This file: provenance, measurements, honest non-claims, lane/convention notes, exact manual commands, and the decisive/skip policy.
What this smoke proves
- A managed Chrome launch through the shared headless wrapper starts, reaches
Ready, and records runtime browser/protocol identity. - At least 30 non-empty JPEG frames are captured with strict per-target
CaptureOrdinalcontinuity, non-decreasing observed/session clocks, and JPEG dimensions matchingmetadata.image(). - A capacity-one, blocked-sink session declares
IngestionQueueSaturatedhonestly with a positive missing-frame estimate and drains accepted work before a bounded managed stop. - No managed Chrome process or temporary profile reference outlives its session on Linux (
/proc/*/cmdline) and macOS (ps -ax -o pid= -o command=). - The committed macOS evidence covers the default-DPI configuration. A high-DPI configuration was attempted, but it produced no passing artifact; the decisive observed device-scale threshold remains
>= 1.5.
Honest non-claims
Every evidence document carries a non_claims array repeating these limits:
- No transport requalification. The cdpkit 0.4.0 selection, 60 s / 1 000-frame sustained saturation, deterministic wire assertions, and ack p99/max thresholds are owned by
docs/evidence/cdp-transport/v2/. - No host-speed percentile threshold. Ack/cadence histograms are diagnostics with internal consistency checks only (samples ≥ N, percentiles monotonic); no
p99 ≤ X msclaim is made. - No product-thesis capture-probability threshold. The 100 ms / 95 % and 50 ms / 80 % capture envelope and the 25 pp agent-improvement bar belong to the evaluation epic.
- No duration sweep, visual-defect corpus, artifact comparison, or storage validation. Those are owned by the evaluation epic.
- No claim that Chrome's acknowledgement token changes, orders frames, or detects skipped browser frames.
Measurements
Each session records:
frame_count,source_time_samples,image_dimensions,viewport,device_scale_factorcapture_ordinal_range.minand.maxobserved_clock_span_nanos,session_clock_span_nanosack_latency_nanosandframe_cadence_nanosas{samples, p50, p95, p99, max}- Declared gaps as
{reason, count} visibility_eventscount (usually zero)
The provenance block records git revision, Rust toolchain, cdpkit version, discovered installation, runtime BrowserVersion, the forced-DPI wrapper variant, and a snapshot of the actual CaptureConfig used (fidelity uses CaptureConfig::default() verbatim; loss-reporting overrides only queue_capacity to 1).
Lane/convention notes
- Evidence is written by the test to
$KROMETRAIL_SMOKE_EVIDENCE_DIR(default: a unique temp path). The test never mutates the source tree duringcargo test; the operator commits the produced JSON. - The smoke is opt-in via
KROMETRAIL_REAL_CHROME_TESTS=1. ChromeWrapperVariant::DefaultDpiforces--force-device-scale-factor=1;ChromeWrapperVariant::HighDpiadds--high-dpi-support=1 --force-device-scale-factor=2.- Linux Chrome and Linux Chromium are selected explicitly by
BrowserProduct, not by first-discovered order.
Manual evidence procedure
Linux lane (Chrome required; Chromium optional)
KROMETRAIL_REAL_CHROME_TESTS=1 \
KROMETRAIL_SMOKE_EVIDENCE_DIR=docs/evidence/cross-platform-smoke/v1 \
cargo test -p krometrail-cdp --test cross_platform_smoke --locked -- --nocapture --include-ignoredThis writes linux-chrome.json always and linux-chromium.json only when a BrowserProduct::Chromium installation is discovered. If Chromium is absent, the run prints not_installed and continues.
macOS lane (Chrome required)
KROMETRAIL_REAL_CHROME_TESTS=1 \
KROMETRAIL_SMOKE_EVIDENCE_DIR=docs/evidence/cross-platform-smoke/v1 \
cargo test -p krometrail-cdp --test cross_platform_smoke --locked -- --nocapture --include-ignoredThis writes macos-chrome-default-dpi.json and attempts the high-DPI configuration. The high-DPI document is emitted only when production metadata observes device scale >= 1.5; the current attempted run emitted no macos-chrome-high-dpi.json.
Decisive/skip policy
- Decisive configurations for a complete smoke result remain
linux-chrome,macos-chrome-default-dpi, andmacos-chrome-high-dpi; the high-DPI threshold is not relaxed. - Best-effort configuration (honest skip permitted):
linux-chromium. - The current high-DPI artifact is absent because the attempted run did not pass the threshold. This documentation records the non-pass honestly and does not block the local-tool release on absent platform evidence.
- Wrong platform: the test skips with a printed reason on any
target_osoutside{linux, macos}. - Skip, not fail: when
KROMETRAIL_REAL_CHROME_TESTS != 1or no decisive installation is discovered, the test skips cleanly with the exact reason printed to--nocaptureoutput.
Evidence that exists vs. honestly absent
linux-chrome.jsonis present and passed both fidelity and capacity-one loss-reporting sessions against Chrome 149.0.7827.155 on Linux x86_64.macos-chrome-default-dpi.jsonis present and passed both sessions against Chrome 149.0.7827.201 on hosted macOS 14 arm64. Its process/profile cleanup result used the realps-based reference scan.macos-chrome-high-dpi.jsonis absent because the attempted high-DPI runs did not pass. Hosted runs29288505121and29288634536both observeddeviceScaleFactor == 1.0under--high-dpi-support=1 --force-device-scale-factor=2; the production metadata observeddeviceScaleFactor == 1.0, so the decisive>= 1.5assertion failed and the harness emitted no passing document. This is an attempted configuration, not high-DPI pass evidence. The threshold remains unchanged: a future lane must either demonstrate a Chrome configuration that exposes high DPI through production capture metadata or redesign that capture boundary before this artifact can be added.linux-chromium.jsonis honestly absent because noBrowserProduct::Chromiuminstallation was available on the Linux lane; this configuration remains best-effort.- The temporary publication used branch
tmp/cross-platform-smoke-macos-595f079, workflowCDP transport macOS gate, workflow patch commita99d18e1c0bb8e07fed80c278cc05e59494bb21a, and evidence commit4dfc78b2a6e91c3404fc58c3c8b98c5b6d662fdc. Run29288505121first exposed the high-DPI failure; run29288634536retained and uploaded the valid default-DPI document before the same decisive high-DPI failure. - Real visibility transitions and
Page.screencastVisibilityChangedevents are observed and counted, not assumed.