Skip to content

record(LTX25-DEVICE-RESIDENCY): the ltx2 span_slack bound has no load allowance, and the quantity swung 171x on one binary (#1576) - #1583

Merged
localai-bot merged 2 commits into
mainfrom
row/RECORD-LTX2-SPAN-SLACK
Aug 21, 2026
Merged

record(LTX25-DEVICE-RESIDENCY): the ltx2 span_slack bound has no load allowance, and the quantity swung 171x on one binary (#1576)#1583
localai-bot merged 2 commits into
mainfrom
row/RECORD-LTX2-SPAN-SLACK

Conversation

@localai-bot

Copy link
Copy Markdown
Collaborator

Records #1576, a gate that a busy runner can flip, before it becomes an intermittent
nobody can attribute. One appended .agents/issue-index.md row. No code.

It is not currently red. build-test-cpu is green on main in run
32464632413 at
483cd3198: 100% tests passed, 0 tests failed out of 584, with
test_ltx2_video Passed in 201.56 s. Saying that plainly is part of the record,
because a filed gap that reads like a live red gets triaged as one.

What was measured

6b48edb2c (GATE-CI-RED-REPAIR) repaired test_ltx2_video and introduced a
wall-clock containment bound in the same change:

const double span_bound = std::min(kSpanSlackPerRecord * leaves.size(),
                                   0.5 * leaf_seconds);
CHECK_MESSAGE(span_slack <= span_bound, ...);

kSpanSlackPerRecord is 250 µs per leaf record, raised to 3 ms under either
sanitizer. There is an explicit allowance for instrumentation and none for CPU
load
.

Measured at origin/main 6b48edb2c on a detached worktree, CPU-only, x86_64,
BUILD_RC=0, the same binary in both samples:

sample box state artifacts.frames slack bound verdict
full 102-case run, ctest -j 1 load 82-110 3.223 ms of a 4.935 ms leaf (65.3%) 250 µs fails, 13x over
same case alone, -tc= load ~90 18.8 µs of a 2.98 ms leaf (0.63%) 250 µs passes, 13x under

A 171x swing in the asserted quantity on one tree and one binary. For scale
on the same commit, test_ltx2_video runs 201.56 s on the CI runner and took
2863.35 s on that box.

Why it is worth a record rather than a fix

The bound is a fixed absolute time charged per instrument boundary, compared
against a leaf that can be a few milliseconds long. Whether it holds is therefore
a property of scheduler latency, not of the phase instrumentation it exists
to gate. The sanitizer arm already concedes the quantity is environment-sensitive;
contention moves it the same way and gets no allowance.

The cost is attribution rather than the red itself: a reviewer who sees this fail
cannot separate a genuine phase-instrumentation regression from a loaded runner.
That is #433's class, which this tree has already paid for.

Deliberately not fixed here. A bigger constant only moves the threshold at
which the same ambiguity appears, and the candidate repairs — assert the
containment relation rather than a duration, derive the budget from measured
per-boundary cost on the running host, or gate the case on a quiescence
precondition and report "not measured" instead of "failed" — are an instrument
decision owned by the LTX-2.5 residency lane, not by the row that found it. The
index row names LTX25-DEVICE-RESIDENCY as owner; whether it also belongs under
that spec's ## Owed is that lane's call, and I have not edited their spec.

Gate

scripts/agent-preflight.sh --fail-on-skip: ZERO skips, RANGE_COUNT=1,
commit-trailers ok and commit-style ok, both RUN against
origin/main 5d548d003.

One gate fails and it is inherited: test_cpu_x86_llamacpp_floor. Its
test_a_contended_leg_is_discarded_and_never_summarised expects exit 2
(GIVING_UP) and gets exit 4, which scripts/cpu-x86-llamacpp-floor.sh:127
emits as NO_QUIET_WINDOW; the host was at load 86-118 throughout, so the
quiet-window wait trips before the discard path is reached. The harness is
behaving correctly and the self-test is what assumes a quiet host. agent-record
— the CI job that runs this same file at ci.yml:271 — is green on main in the
run linked above, and this branch touches no code at all.

An earlier revision of this row failed check-agent-record with
table has 8 pipes; expected 5, because the doctest counts were quoted verbatim
with their | separators inside a table cell. Fixed by writing them with commas.

FOLLOWING_AGENTS_PROTOCOL

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

mudler added 2 commits August 21, 2026 10:35
… allowance, and the quantity swung 171x on one binary (#1576)

This records a gate that a busy runner can flip, before it becomes an
intermittent nobody can attribute. It is NOT currently red: `build-test-cpu` is
green on `main` at `483cd3198`, 584 of 584, with `test_ltx2_video` Passed in
201.56 s.

`6b48edb2c` repaired `test_ltx2_video` and introduced a wall-clock containment
bound in the same change. `kSpanSlackPerRecord` is 250 microseconds per leaf
record, raised to 3 ms under either sanitizer. There is an explicit allowance for
INSTRUMENTATION and none for CPU LOAD.

Measured at `origin/main` `6b48edb2c`, same binary in both samples: the
`artifacts.frames` leaf reported 3.223 ms of slack against the 250 us bound in
the full run on a box at load 82-110, and 18.8 us running the same case alone.
That is a 171x swing in the asserted quantity on one tree.

The bound is a fixed absolute time charged per instrument boundary against a leaf
that can be a few milliseconds long, so whether it holds is a property of
scheduler latency rather than of the phase instrumentation it is meant to gate.

Not fixed here, deliberately. A bigger constant only moves the threshold at which
the same ambiguity appears, and the repair is an instrument decision owned by the
LTX-2.5 residency lane rather than by the row that found it.

FOLLOWING_AGENTS_PROTOCOL

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

`f38cd69e7` (#1582) landed the per-record bound and appended its own
`.agents/issue-index.md` row. This row appends a second, for a different issue,
and the two appends are exactly the case `merge=union` exists for: `merge-tree`
reports the result clean locally while GitHub reports the file CONFLICTING,
because the forge ignores the driver.

Merging rather than rebasing keeps the reviewed SHA intact. Verified after the
merge that main's rows are all present and this branch contributes exactly its
own, with no issue number appearing twice.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
@localai-bot
localai-bot merged commit 503e459 into main Aug 21, 2026
1 of 15 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.

2 participants