Skip to content

LTX-2.5 prompt-AdaLN is reached from vllm_video_generate but no test ENTERS through it: deleting the term's only consumer leaves test_ltx2_video 37/37 green #900

Description

@localai-bot

The prompt-side AdaLN (LTX25-PROMPT-ADALN, #644, landed as 65e79eee5) satisfies the first half of AGENTS.md ## Nothing lands dead and not the second.

Reached: yes. The chain from a production entry point on its default configuration was followed by hand at 9afc5a6f0, every anchor asserted UNIQUE:

include/vllm.h:962 (vllm_video_generate) → src/capi/vllm_c.cpp:1646src/vllm/multimodal/ltx2_video.cpp:1063 (Ltx2VideoEngine::Generate) → :1730/:1732src/vllm/model_executor/models/ltx2_dit.cpp:785 / ltx2_device.cpp:1152, where use_prompt_adaln_single DEFAULTS TRUE at include/vllm/model_executor/models/ltx2.h:133ltx2_dit.cpp:581:205:140.

Entered by the smallest failing test: no. The rule says "The smallest failing test enters the new code through that entry point. A unit test that constructs the type by hand proves that the class works, never that anything reaches it." The instrument for this term is test_ltx2's "the prompt-AdaLN term is LOAD-BEARING, not decoration", which calls Ltx2DitForward directly.

Measured with the reachability mutation from .agents/reachability.md, on a scratch copy restored byte-for-byte afterwards. src/vllm/model_executor/models/ltx2_dit.cpp:140, if (prompt_mod != nullptr) {if (false) {, so ModulateContext ignores the timestep term entirely. BUILT=YES, compile_err=NO — this is a test result and not a compiler refusal:

suite enters through result
test_ltx2 Ltx2DitForward directly RED — 3 of 43 cases, 6 of 4388 assertions, exit 1
test_ltx2_video vllm_video_generate / the ABI GREEN — 37 of 37 cases, 784 of 784 assertions, exit 0

test_ltx2_video's fixture DOES set use_prompt_adaln_single = true (tests/vllm/multimodal/ltx2_video_fixture.h:258), so the entry-point suite executes the path on every render it drives. It just never asserts a value the term can move: deleting the term's only consumer changes nothing it looks at.

So the entry-point gate measures that the pipeline runs, not that this capability is in it. The unit gate is the only thing that would catch a regression, and by the rule's own argument that is not proof of reach.

What would close this. A value assertion on the ABI-driven render that the prompt-AdaLN term can move — a golden or a flag-ON-vs-OFF delta through vllm_video_generate on the reduced fixture — such that the mutation above takes test_ltx2_video red as well.

Why it is filed rather than fixed in the same flow. AGENTS.md allows the in-flow path for "small and clear fixes". This is neither: the fixture render has no committed value oracle at the ABI level, so closing it means designing one red-first, which is a row with its own spec rather than a record repair riding on #663.

Found while reconciling #663 onto main. Listed under ## Owed in .agents/specs/ltx25-prompt-adaln.md. The rule and its guide (8f49ac3be, #886) post-date the row, so this is debt the row could not have known about, not a review miss.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions