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:1646 → src/vllm/multimodal/ltx2_video.cpp:1063 (Ltx2VideoEngine::Generate) → :1730/:1732 → src/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:133 → ltx2_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.
The prompt-side AdaLN (
LTX25-PROMPT-ADALN, #644, landed as65e79eee5) satisfies the first half ofAGENTS.md## Nothing lands deadand 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:1646→src/vllm/multimodal/ltx2_video.cpp:1063(Ltx2VideoEngine::Generate) →:1730/:1732→src/vllm/model_executor/models/ltx2_dit.cpp:785/ltx2_device.cpp:1152, whereuse_prompt_adaln_singleDEFAULTS TRUE atinclude/vllm/model_executor/models/ltx2.h:133→ltx2_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 callsLtx2DitForwarddirectly.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) {, soModulateContextignores the timestep term entirely. BUILT=YES, compile_err=NO — this is a test result and not a compiler refusal:test_ltx2Ltx2DitForwarddirectlytest_ltx2_videovllm_video_generate/ the ABItest_ltx2_video's fixture DOES setuse_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_generateon the reduced fixture — such that the mutation above takestest_ltx2_videored as well.Why it is filed rather than fixed in the same flow.
AGENTS.mdallows 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## Owedin.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.