Repository navigation
Conversation
Spider Bench A/B✅ All benchmark browser service runs completed; results are informational. Public HEAD: 184 / 240 rows; 38 / 48 sites produced rows; 10 unexpected empty sites. ✅ Deterministic fixture contract is clean. Common ancestor Public 48-site run · informational
Public-site content, timing, and memory are noisy. This single A/B run reports evidence only; site outcome counts explain missing rows without treating them as a deterministic regression. CPU and memory timelinesThese are bounded 40-point views of the same complete process-tree samples used by the HTML report. CPU uses 100% per occupied logical core; memory lines are RSS first and PSS second when complete PSS samples are available. Basexychart-beta
title "Base CPU"
x-axis "Elapsed seconds" [1.536, 2.037, 2.538, 3.039, 4.542, 5.543, 7.045, 8.545, 10.045, 11.548, 13.05, 14.052, 15.553, 17.053, 18.556, 20.059, 21.559, 22.56, 24.062, 25.562, 27.063, 28.065, 28.566, 30.067, 31.068, 32.57, 34.072, 35.575, 37.077, 38.579, 39.58, 41.082, 42.583, 44.086, 45.586, 47.087, 48.088, 49.588]
y-axis "CPU percent" 0 --> 200
line [2, 0, 2, 0, 123.83, 120.08, 137.8, 131.96, 159.9, 137.76, 117.83, 125.75, 28, 101.95, 0, 3.99, 0, 0, 51.9, 77.97, 129.7, 99.73, 109.78, 117.82, 87.92, 101.91, 95.78, 111.89, 13.99, 73.99, 127.79, 63.98, 19.98, 0, 2, 115.93, 131.95, 123.95]
xychart-beta
title "Base memory: RSS then PSS"
x-axis "Elapsed seconds" [0.035, 1.536, 2.037, 2.538, 3.039, 4.542, 5.543, 7.045, 8.545, 10.045, 11.548, 13.05, 14.052, 15.553, 17.053, 18.556, 20.059, 21.559, 22.56, 24.062, 25.562, 27.063, 28.065, 28.566, 30.067, 31.068, 32.57, 34.072, 35.575, 37.077, 38.579, 39.58, 41.082, 42.583, 44.086, 45.586, 47.087, 48.088, 49.588, 50.8]
y-axis "Memory MiB" 0 --> 500
line [13.01, 60.46, 60.46, 59.68, 59.68, 115.17, 132.32, 135.95, 135.62, 148, 128.91, 145.15, 141.58, 139.37, 138.01, 119.2, 116.61, 115.5, 115.5, 124.27, 141.34, 146.65, 244.61, 244.18, 183.57, 130.58, 174.85, 131.21, 140.63, 134.68, 164.97, 231.25, 227.38, 127.09, 125.74, 126.62, 158.45, 141.46, 159.62, 0]
line [9.65, 56.97, 56.98, 56.19, 56.19, 111.69, 128.9, 132.45, 132, 144.47, 125.29, 141.5, 137.98, 135.83, 134.46, 115.58, 112.99, 112.03, 111.98, 120.74, 137.75, 143.06, 240.91, 239.97, 179.91, 126.92, 171.11, 127.64, 136.99, 131.05, 161.38, 228.29, 223.75, 123.47, 122.12, 122.99, 154.85, 137.83, 156.05, 0]
HEADxychart-beta
title "HEAD CPU"
x-axis "Elapsed seconds" [1.536, 2.536, 4.037, 5.038, 6.541, 7.543, 9.045, 10.046, 11.547, 13.048, 14.048, 15.05, 15.551, 16.55, 18.053, 19.054, 20.555, 21.557, 23.06, 24.562, 25.063, 25.564, 27.066, 28.067, 29.568, 30.57, 32.071, 33.072, 34.574, 36.076, 37.077, 38.58, 39.582, 41.084, 42.086, 43.087, 43.587, 44.588]
y-axis "CPU percent" 0 --> 200
line [73.93, 99.85, 99.85, 137.77, 139.83, 109.73, 63.89, 117.88, 127.96, 109.81, 78, 0, 2, 14, 43.93, 2, 97.89, 31.94, 113.77, 103.99, 103.88, 115.7, 103.84, 115.82, 119.93, 111.83, 97.91, 95.89, 51.88, 143.65, 97.94, 9.97, 1.99, 103.94, 113.78, 147.8, 20, 127.82]
xychart-beta
title "HEAD memory: RSS then PSS"
x-axis "Elapsed seconds" [0.035, 1.536, 2.536, 4.037, 5.038, 6.541, 7.543, 9.045, 10.046, 11.547, 13.048, 14.048, 15.05, 15.551, 16.55, 18.053, 19.054, 20.555, 21.557, 23.06, 24.562, 25.063, 25.564, 27.066, 28.067, 29.568, 30.57, 32.071, 33.072, 34.574, 36.076, 37.077, 38.58, 39.582, 41.084, 42.086, 43.087, 43.587, 44.588, 45.676]
y-axis "Memory MiB" 0 --> 500
line [12.93, 89.54, 99.94, 117.14, 137.65, 134.82, 129.3, 129.68, 152.46, 134.08, 149.2, 147.3, 116.43, 115.2, 116.38, 129.01, 120.57, 130.75, 115.5, 139.04, 215.84, 262.44, 194.85, 197.3, 218.75, 137.11, 183.44, 133.55, 143.65, 141.7, 177.44, 144.21, 143.3, 129.01, 139.79, 169.08, 154.67, 132.13, 159.1, 0]
line [9.61, 86.1, 96.46, 113.64, 134.08, 131.77, 126.24, 126.13, 148.84, 130.54, 145.63, 143.7, 112.7, 111.47, 112.65, 125.29, 116.85, 127.02, 111.78, 135.32, 212.17, 258.76, 191.15, 193.58, 215.18, 133.47, 179.75, 129.83, 139.84, 137.9, 173.81, 140.4, 139.49, 125.2, 136.02, 163.33, 150.97, 128.32, 155.32, 0]
Deterministic fixture · required contractThe fixture exercises 15 routes: 8 are expected to emit rows and 7 intentionally exercise empty, loading, or timeout behavior.
Full HTML, JSON, CSV, logs, and page snapshots: workflow run and full The public-web A/B is informational. The exact HEAD fixture contract runs as a separate required CI check; timing and public-site content deltas remain non-blocking. |
CI Regression ReportSource CI run · source state at render:
Release regression — ✅ HEAD/base failures 0/0; raw binary +0.028904%Package and image size
Startup latency and PSS
Concurrency matrix
Frontend differential — ✅ 1,020/1,020 cases matched; 0 issues
Agent episodes · Moli vs Chromium — ✅ 8/8 Moli episodes passed; 0 failures
Runtime and CDP session contracts — ✅ 26 contract cases; 0 failures
CDP smoke — ✅ 52/52 groups passed; 622 scenariosWorkers: 4 · cumulative group time: 159.05 s · failed groups: 0
WebMainBench · 545 pages — ✅ 545/545 completed; 0 unexpected failuresFrozen HTML · Linux · Diagnostics: All artifact fields are parsed by the trusted default-branch renderer; missing or invalid inputs remain visible as unavailable. |
Admit ICO in the shared image capability table and decode real PNG and BMP directory frames. Keep PNG frames on the existing bounded color-managed codec, with an explicit orientation policy so embedded Exif does not rotate ICO frames. BMP frames retain palette and AND-mask decoding. Cover real pixels, directory selection, precision, malformed entries and metadata-only probing. Retain unsupported-format rejection using TIFF now that ICO is supported.
e95535b to
017e714
Compare

Decode native ICO image resources using validated directory/frame boundaries and the existing color-profile/EXIF pipeline. Preserve frame selection, PNG/BMP payload dimensions and color precision while ignoring standalone image orientation metadata for icon frames. Includes malformed-directory, offset/size, frame-selection and color regressions. Stacked on the existing raster color and EXIF work instead of duplicating those foundations.
Depends on #1735.
Validation on base
c2e8e28cf341: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast. All passed (20,534 passed, 18 existing skips; 32 build jobs and test threads, no automatic retries). Focused regressions also passed.