Skip to content

[Issue 42 U3.1.4] VLM preprocessing-policy cache identity #1552

@Zigfreidish

Description

@Zigfreidish

Parent

#1432

Governing plan: docs/plans/2026-04-26-issue-42-multimodal-fast-paths.md

What to build

Add a request-scoped VLM preprocessing-policy contract so operator pixel controls are routed only to supported image processors and become part of the image-feature cache identity.

This slice comes from the latest #42 watch-log note about min_pixels, max_pixels, resized_height, and resized_width. It should make repeated-image reuse safe when the same bytes are decoded under different preprocessing policies.

Acceptance criteria

  • Supported pixel-policy fields (min_pixels, max_pixels, resized_height, resized_width) are normalized into a stable preprocessing-policy receipt before image processing.
  • Allowlisted pixel controls are forwarded only to the image processor; tokenizer kwargs never receive image pixel-policy fields.
  • Unsupported preprocessing fields fail closed or are omitted with a typed unsupported reason before decode.
  • Image-feature cache keys and evidence receipts include the normalized preprocessing policy so identical bytes with different policy values do not collide.
  • Repeated-image fixtures distinguish cache hits for identical bytes with the same policy from misses when policy changes.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions