Module vision

Module vision 

Source
Expand description

2026-09-26: The vision-fidelity benchmark: does the served model see the image it was sent, at the resolution the serve permits?

  • Geometry: the exact vision-token count of each ladder fixture (provision::FIXTURES), read from usage.prompt_tokens minus a calibrated template overhead and compared with geometry.rs. A preprocessing change that still leaves a recognisable picture moves this count, where a capability probe can still pass.
  • Capability: probes on the fixtures (probes.rs), with a no-image control; if the control answers, the run is VACUOUS.
  • Integrity and concurrency legs (driver.rs).

tests/vision_sweep.py (a keyword rubric on one photo) and tests/vit_reference_check.py (a layer-by-layer diff against an HF reference) are separate harnesses and assert no vision-token counts.

Registered in registry.rs; model targets gate on it through gate = "vision-fidelity" entries in their BENCH.toml.

Owner: bench, vision. Invariants: none beyond the types.

Re-exports§

pub use driver::DESCRIPTOR;
pub use driver::METADATA;

Modules§

driver
2026-09-26: The vision-fidelity state machine: one leg per next(), in Phase order: calibrate (measures the template overhead every geometry cell subtracts), geometry, capability probes, integrity, concurrency, the no-image control, then the score. The control runs after the legs it can invalidate, so their cells are shown beside a VACUOUS verdict.
geometry
2026-09-26: The vision-token counts the geometry leg predicts, from an image’s size, the patch and merge sizes, and the serve’s declared area bound.
probes
2026-09-26: Capability probes: did the model see the picture? Each probe attaches fixtures, asks a question, and is scored by score::reply_matches against terms the reply must and must not contain. The fixtures they use come from scripts/gen_test_images.py, which draws a size label on each.
provision
2026-09-26: The vision fixtures, written to ~/.metrale/artifacts/vision on load().
request
2026-09-26: Building an image chat request, and reading the vision-token count back out.
score
2026-09-26: The vision benchmark’s cells and verdict. A run whose no-image control did not hold is VACUOUS, whatever the other cells say.