Skip to content

record(LTX25-PHASE-RESIDUE): the seam-extent candidate does not separate, and #1567's blocker was never true (#1668, #1567, #1568, #1884) - #1907

Merged
localai-bot merged 3 commits into
mainfrom
row/LTX25-PHASE-RESIDUE-1884
Aug 25, 2026
Merged

record(LTX25-PHASE-RESIDUE): the seam-extent candidate does not separate, and #1567's blocker was never true (#1668, #1567, #1568, #1884)#1907
localai-bot merged 3 commits into
mainfrom
row/LTX25-PHASE-RESIDUE-1884

Conversation

@localai-bot

Copy link
Copy Markdown
Collaborator

FOLLOWING_AGENTS_PROTOCOL

ced0ab639 landed the three anchors #1668 owed and left three siblings open. This
re-checks all four against the tree rather than against the record, closes the one
that is genuinely done, and measures the discriminator the row named as its next
step. No product code, no test code and no assertion changes: the gate is
byte-identical to ced0ab639.

#1668 is closed, item by item

All four items are on origin/main and gated. load.dit_config at
ltx2_video.cpp:979, artifacts.mux at :5440, denoise.update at :4576,
Ltx2ConditioningTrace::sampler_updates at :4577 and ltx2_video.h:920.
Record::instrument_seconds is at render_phase_log.h:70 and landed as
be432e8e3 (#1711), so the issue's own text is stale on that item.

Its scope note also asked that denoise.update reach "the phase names published in
docs/models/ltx-2-5.md". That document publishes no phase names -- a grep for a
leaf name over docs/ returns MiniMax-Music3 and MiniMax-H3 rows only -- so the
obligation is void rather than skipped. Checked because a scope note is where an
owed edit hides.

The seam-extent ratio is measured, and it is shut

### M7, ## Stop conditions and #1884 all named one non-banned candidate for the
magnitude hole: the anchor's own extent against the seam its two neighbours define,
"near 1 honest, near 0 collapsed". It was measured before it was adopted, 67 honest
runs against 25 collapsed, one box and one binary pair, loadavg 39 to 84.

For artifacts.mux the collapsed range [0.1414, 0.4766] lies entirely INSIDE the
honest range [0.0156, 0.8779], so no constant separates them at all -- and in each
load regime separately, 11 honest reds in 44 quieter runs and 15 in 90 busier ones,
so the overlap is a property of the anchor and not of the box. For
load.dit_config a constant in (0.2122, 0.7187] catches every collapse and reds 2
of 67 honest renders, 0 of 22 quieter and 2 of 45 busier -- contention, and the
same order as the 4-in-45 that withdrew residue <= 2 * instrument.

The premise fails too, and without any tail: artifacts.mux's honest MEDIAN extent
is 0.5977, because that anchor has a median duration of 14.5 us against a median
instrument_seconds of 7.0 us, and per record instrument_seconds / duration runs
0.394 to 0.997 with a median of 0.495. Half of what that anchor measures is this
instrument's own charge inside it.

The mechanism is the withdrawn bound's mechanism, visible in the table. The honest
outliers are ordinary anchors beside a preempted instrument boundary: a 234 us
load.dit_config beside a 3473 us gap, a 39 us artifacts.mux beside a 2446 us
gap, where both gaps are one Close stamp followed by one Open stamp and are
~3 us on a quiet run. ## Design 3 already says the un-instrumented remainder of a
boundary dilates faster than the instrumented part under contention; the seam-extent
ratio puts that remainder in its denominator, so it inherits the same tail. It asks
a different QUESTION than the withdrawn bound and is conditioned on the same
QUANTITY, and the conditioning is what decided the earlier one.

Nothing is re-proposed and nothing is widened. The record now says to ask of any
successor what its denominator dilates with, not only what it means.

...and what the same data says to try next

A fresh review mutated that CONCLUSION rather than only checking its arithmetic,
and narrowed it: the negative result belongs to the DEFINITION, not to the family.
Subtract the record's own instrument_seconds from the numerator and
net / (net + gap_after) separates load.dit_config by two orders of magnitude
with 0 honest reds in 67, and leaves artifacts.mux with 1 in 134. That one red is
named rather than averaged away: h2-38 render 2, where the anchor's whole 2968.0
us extent was its own 2957.8 us instrument charge, which is the same mechanism one
level in. One measurement, not a conclusion -- it still owes its own constant,
cross-box distribution, red-first mutation and fresh review, which is what #1884
asks of any candidate. Recorded so the next attempt starts from the definition that
worked rather than from the one that did not.

#1567's recorded blocker was never true

Both the spec and the forge issue said no gate in this tree renders the res_2s arm,
so an anchor beside the first-order one would land dead. One command falsifies it.
test_ltx2_video -tc="ltx2 video: the HQ pipeline evaluates the DiT twice per step"
renders res2s_two_stage four times through LoadVideoEngine and
VideoEngine::Generate, and leaves hq3/phase-log.json and hq5/phase-log.json
carrying a denoise leaf and 7 and 11 denoise.step records -- the loop's own
2n+1 evaluation counts -- and no denoise.update. The instrument is already live
inside that loop and the arm already writes a table a gate can read. That case has
existed since 4d7748646 (#1125), which predates the issue, so the claim was never
true of any tree. #1567 stays open; what it owes is the hook and the assertion.

The same false sentence was also in the product tree, in the comment at
test_ltx2_video.cpp:9079-9081 inside the very case that falsifies it. It is
corrected here in the same flow, because a record correction that leaves the false
sentence where a reader will meet it has repaired nothing. That comment is the only
edit outside .agents/; it changes no assertion and the suite is green at 105 of
105 cases either side of it. The forge issue body still carries the claim and is
answered by a comment rather than rewritten.

#1568 stays open, and its own mutation says so

Mutation T1, the empty-sibling form of the issue's R1b: denoise.update
collapsed onto its own Close() at the same statement, line-count preserving, so
the record is still emitted once per step and still sits between two denoise.step
records while naming ~0 s. Focused case green 5 runs of 5. The anchor was
asserted unique before it was applied, the application was verified by hash, the
build exit code was read, and the tree was restored byte-for-byte and re-hashed. A
fresh review reproduced it independently at 3 of 3, after checking that the mutated
BINARY differed by hash from the unmutated one -- its first attempt built in a
copied tree whose build/ was bound to the original path, exited 0 on
ninja: no work to do, and would have read as a pass.

#1884 stays open

M7 reproduces here: both anchors collapsed onto their own Close(), line-count
preserving, green in 24 of 25 focused runs. The one red is decode.audio's
coverage floor, which is the #1470 flake class and not an anchor clause. What
remains for it is the other repair the row already names -- an anchor inside the
callee -- because a position clause cannot bound a magnitude, so no further clause
on CheckSeamAnchor closes it. A MAGNITUDE clause there is not forbidden, and an
earlier draft of this change said it was; that non-sequitur is what the review
caught.

#1570 is CLOSED, by be432e8e3 on 2026-08-23. Three passages written by this
change treated it as outstanding and are corrected, and ## Now's count of five
open issues under this spec is corrected to four.

Restored tree green: 105 of 105 cases, 4721 assertions.

Issues

Closes #1668. #1567, #1568 and #1884 stay OPEN and each says what it still owes;
none of them is closed here, and none was closed because a neighbour landed.

Review

One fresh review by an agent that did not write the change. It confirmed the
anchors, the doc check, the #1567 falsification, the T1 mutation and every cell of
the measurement table from its own extractor, and returned eight findings. All
eight are repaired above: the res_2s render count, the "no further clause closes
this" non-sequitur, #1570's forge state, the far-side citation, the mux magnitude
ranges, the k-interval endpoint, the un-matched load regimes, and the false comment
left in the product tree. The review's own process note is worth carrying: its
first mutation attempt read as a pass because the copied tree's build/ was bound
to the original path and ninja had no work to do.

Authority

NO merge authority is recorded for this row in .agents/developer-preferences.md.
The 2026-08-25 LTX-2.5 close-out grant is scoped to #1873, #1869, #1882, #1871 and
#1888 "and to no others". This pull request is prepared and not merged.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]

mudler added 2 commits August 25, 2026 12:01
…ate, and #1567's blocker was never true (#1668, #1567, #1568, #1884)

FOLLOWING_AGENTS_PROTOCOL

`ced0ab639` landed the three anchors #1668 owed and left three siblings open. This
re-checks all four against the tree rather than against the record, closes the one
that is genuinely done, and measures the discriminator the row named as its next
step. No product code, no test code and no assertion changes: the gate is
byte-identical to `ced0ab639`.

## #1668 is closed, item by item

All four items are on `origin/main` and gated. `load.dit_config` at
`ltx2_video.cpp:979`, `artifacts.mux` at `:5440`, `denoise.update` at `:4576`,
`Ltx2ConditioningTrace::sampler_updates` at `:4577` and `ltx2_video.h:920`.
`Record::instrument_seconds` is at `render_phase_log.h:70` and landed as
`be432e8e3` (#1711), so the issue's own text is stale on that item.

Its scope note also asked that `denoise.update` reach "the phase names published in
`docs/models/ltx-2-5.md`". That document publishes no phase names -- a grep for a
leaf name over `docs/` returns MiniMax-Music3 and MiniMax-H3 rows only -- so the
obligation is void rather than skipped. Checked because a scope note is where an
owed edit hides.

## The seam-extent ratio is measured, and it is shut

`### M7`, `## Stop conditions` and #1884 all named one non-banned candidate for the
magnitude hole: the anchor's own extent against the seam its two neighbours define,
"near 1 honest, near 0 collapsed". It was measured before it was adopted, 67 honest
runs against 25 collapsed, one box and one binary pair, loadavg 39 to 84.

For `artifacts.mux` the collapsed range [0.1414, 0.4766] lies entirely INSIDE the
honest range [0.0156, 0.8779], so no constant separates them at all -- and in each
load regime separately, 11 honest reds in 44 quieter runs and 15 in 90 busier ones,
so the overlap is a property of the anchor and not of the box. For
`load.dit_config` a constant in (0.2122, 0.7187] catches every collapse and reds 2
of 67 honest renders, 0 of 22 quieter and 2 of 45 busier -- contention, and the
same order as the 4-in-45 that withdrew `residue <= 2 * instrument`.

The premise fails too, and without any tail: `artifacts.mux`'s honest MEDIAN extent
is 0.5977, because that anchor has a median duration of 14.5 us against a median
`instrument_seconds` of 7.0 us, and per record `instrument_seconds / duration` runs
0.394 to 0.997 with a median of 0.495. Half of what that anchor measures is this
instrument's own charge inside it.

The mechanism is the withdrawn bound's mechanism, visible in the table. The honest
outliers are ordinary anchors beside a preempted instrument boundary: a 234 us
`load.dit_config` beside a 3473 us gap, a 39 us `artifacts.mux` beside a 2446 us
gap, where both gaps are one `Close` stamp followed by one `Open` stamp and are
~3 us on a quiet run. `## Design` 3 already says the un-instrumented remainder of a
boundary dilates faster than the instrumented part under contention; the seam-extent
ratio puts that remainder in its denominator, so it inherits the same tail. It asks
a different QUESTION than the withdrawn bound and is conditioned on the same
QUANTITY, and the conditioning is what decided the earlier one.

Nothing is re-proposed and nothing is widened. The record now says to ask of any
successor what its denominator dilates with, not only what it means.

## ...and what the same data says to try next

A fresh review mutated that CONCLUSION rather than only checking its arithmetic,
and narrowed it: the negative result belongs to the DEFINITION, not to the family.
Subtract the record's own `instrument_seconds` from the numerator and
`net / (net + gap_after)` separates `load.dit_config` by two orders of magnitude
with 0 honest reds in 67, and leaves `artifacts.mux` with 1 in 134. That one red is
named rather than averaged away: `h2-38` render 2, where the anchor's whole 2968.0
us extent was its own 2957.8 us instrument charge, which is the same mechanism one
level in. One measurement, not a conclusion -- it still owes its own constant,
cross-box distribution, red-first mutation and fresh review, which is what #1884
asks of any candidate. Recorded so the next attempt starts from the definition that
worked rather than from the one that did not.

## #1567's recorded blocker was never true

Both the spec and the forge issue said no gate in this tree renders the res_2s arm,
so an anchor beside the first-order one would land dead. One command falsifies it.
`test_ltx2_video -tc="ltx2 video: the HQ pipeline evaluates the DiT twice per step"`
renders `res2s_two_stage` four times through `LoadVideoEngine` and
`VideoEngine::Generate`, and leaves `hq3/phase-log.json` and `hq5/phase-log.json`
carrying a `denoise` leaf and 7 and 11 `denoise.step` records -- the loop's own
2n+1 evaluation counts -- and no `denoise.update`. The instrument is already live
inside that loop and the arm already writes a table a gate can read. That case has
existed since `4d7748646` (#1125), which predates the issue, so the claim was never
true of any tree. #1567 stays open; what it owes is the hook and the assertion.

The same false sentence was also in the product tree, in the comment at
`test_ltx2_video.cpp:9079-9081` inside the very case that falsifies it. It is
corrected here in the same flow, because a record correction that leaves the false
sentence where a reader will meet it has repaired nothing. That comment is the only
edit outside `.agents/`; it changes no assertion and the suite is green at 105 of
105 cases either side of it. The forge issue body still carries the claim and is
answered by a comment rather than rewritten.

## #1568 stays open, and its own mutation says so

Mutation `T1`, the empty-sibling form of the issue's `R1b`: `denoise.update`
collapsed onto its own `Close()` at the same statement, line-count preserving, so
the record is still emitted once per step and still sits between two `denoise.step`
records while naming ~0 s. Focused case green 5 runs of 5. The anchor was
asserted unique before it was applied, the application was verified by hash, the
build exit code was read, and the tree was restored byte-for-byte and re-hashed. A
fresh review reproduced it independently at 3 of 3, after checking that the mutated
BINARY differed by hash from the unmutated one -- its first attempt built in a
copied tree whose `build/` was bound to the original path, exited 0 on
`ninja: no work to do`, and would have read as a pass.

## #1884 stays open

M7 reproduces here: both anchors collapsed onto their own `Close()`, line-count
preserving, green in 24 of 25 focused runs. The one red is `decode.audio`'s
coverage floor, which is the #1470 flake class and not an anchor clause. What
remains for it is the other repair the row already names -- an anchor inside the
callee -- because a position clause cannot bound a magnitude, so no further clause
on `CheckSeamAnchor` closes it. A MAGNITUDE clause there is not forbidden, and an
earlier draft of this change said it was; that non-sequitur is what the review
caught.

#1570 is CLOSED, by `be432e8e3` on 2026-08-23. Three passages written by this
change treated it as outstanding and are corrected, and `## Now`'s count of five
open issues under this spec is corrected to four.

Restored tree green: 105 of 105 cases, 4721 assertions.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
FOLLOWING_AGENTS_PROTOCOL

Brings the branch up to `d0d4f1f60` before review. The three commits it takes are
MODEL-DSV4-EXL3 W2, MODEL-MM-dots3-note W3 and an oracle registration; none of them
touches `.agents/specs/ltx25-phase-residue.md` or `tests/vllm/multimodal/`, so the
merge is textually and semantically disjoint from this branch's change.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
FOLLOWING_AGENTS_PROTOCOL

Second catch-up before review. `9aea9efec` is SPEC-DFLASH2 W11 and touches neither
`.agents/specs/ltx25-phase-residue.md` nor `tests/vllm/multimodal/`, so it is
disjoint from this branch's change.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
@localai-bot
localai-bot merged commit 2e2b3fc into main Aug 25, 2026
25 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LTX-2.5: three phase anchors and the instrument's own cost accounting are measured and reviewed, and none of them is on main

2 participants