record(LTX25-PHASE-RESIDUE): the seam-extent candidate does not separate, and #1567's blocker was never true (#1668, #1567, #1568, #1884) - #1907
Merged
Conversation
…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]
This was referenced Aug 25, 2026
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]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FOLLOWING_AGENTS_PROTOCOL
ced0ab639landed the three anchors #1668 owed and left three siblings open. Thisre-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/mainand gated.load.dit_configatltx2_video.cpp:979,artifacts.muxat:5440,denoise.updateat:4576,Ltx2ConditioningTrace::sampler_updatesat:4577andltx2_video.h:920.Record::instrument_secondsis atrender_phase_log.h:70and landed asbe432e8e3(#1711), so the issue's own text is stale on that item.Its scope note also asked that
denoise.updatereach "the phase names published indocs/models/ltx-2-5.md". That document publishes no phase names -- a grep for aleaf name over
docs/returns MiniMax-Music3 and MiniMax-H3 rows only -- so theobligation 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 conditionsand #1884 all named one non-banned candidate for themagnitude 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.muxthe collapsed range [0.1414, 0.4766] lies entirely INSIDE thehonest 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_configa constant in (0.2122, 0.7187] catches every collapse and reds 2of 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 extentis 0.5977, because that anchor has a median duration of 14.5 us against a median
instrument_secondsof 7.0 us, and per recordinstrument_seconds / durationruns0.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_configbeside a 3473 us gap, a 39 usartifacts.muxbeside a 2446 usgap, where both gaps are one
Closestamp followed by oneOpenstamp and are~3 us on a quiet run.
## Design3 already says the un-instrumented remainder of aboundary 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_secondsfrom the numerator andnet / (net + gap_after)separatesload.dit_configby two orders of magnitudewith 0 honest reds in 67, and leaves
artifacts.muxwith 1 in 134. That one red isnamed rather than averaged away:
h2-38render 2, where the anchor's whole 2968.0us 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_stagefour times throughLoadVideoEngineandVideoEngine::Generate, and leaveshq3/phase-log.jsonandhq5/phase-log.jsoncarrying a
denoiseleaf and 7 and 11denoise.steprecords -- the loop's own2n+1 evaluation counts -- and no
denoise.update. The instrument is already liveinside 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 nevertrue 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-9081inside the very case that falsifies it. It iscorrected 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 of105 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'sR1b:denoise.updatecollapsed onto its own
Close()at the same statement, line-count preserving, sothe record is still emitted once per step and still sits between two
denoise.steprecords 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 onninja: 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-countpreserving, green in 24 of 25 focused runs. The one red is
decode.audio'scoverage 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
CheckSeamAnchorcloses it. A MAGNITUDE clause there is not forbidden, and anearlier draft of this change said it was; that non-sequitur is what the review
caught.
#1570 is CLOSED, by
be432e8e3on 2026-08-23. Three passages written by thischange treated it as outstanding and are corrected, and
## Now's count of fiveopen 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 boundto 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]