Measurement block
Every vector digest came out of a real forward pass through verd.embed's own code path — _load_from_chain, _probe_dim, _to_pil, _forward, l2_normalize — against a checkpoint resolved from the local HuggingFace cache. verd.embed.MODEL_CHAIN was narrowed to one entry per measurement, because the chain is a preference order for picking one space to run and a reference set needs each space pinned in turn; nothing else about the load path was changed.
| measured | 2026-08-25 |
| device | cpu (MODEL_DEVICE=cpu; verd.embed.get_device() asserted, not assumed) |
torch | 2.13.0+cpu |
transformers | 5.15.1 |
numpy | 2.4.6 |
Pillow | 12.3.0 (image generation and CPNP-1 decode) |
| intra-op threads | torch.set_num_threads(1), pinned — see below |
| batching | one image per embed_images() call |
Per space, as measured (dim from a real forward pass via _probe_dim, never a constant; weights_sha256 from verd.space_cache.weights_sha256, which digests the checkpoint files actually on disk):
| space | dim | weights_sha256 | resize | interpolation | centre crop | mean/std |
|---|---|---|---|---|---|---|
| siglip2-base-p16-256 | 768 | 95b489cffc984428c3fd6f582c7c974fc6d0118e3974c2af0459ca305b313bfa | yes | bilinear | no | 0.5 / 0.5 |
| siglip-base-p16-256 | 768 | d4cac05964418bd95ff4a28edb05cb42b80d7f6607d0b95a45fdc890d952c1e1 | yes | bicubic | no | 0.5 / 0.5 |
| clip-vit-b32 | 512 | 0d2467ba23703cb2df01ad1eb1cd8c92688b1971f869d7dec850e8b8b79a646c | yes | bicubic | yes | CLIP's own |
weights_sha256 is producer-scoped by errata E29 — it has no defined preimage in VER 1.x, so these values are comparable only within this producer. The interoperable pin is ADR-0007's bundle manifest, which this project does not yet emit.
The two SigLIP spaces share a dimension and differ in interpolation alone among the members above; their vectors are still different vectors, and the manifests say so item by item.
