record(LTX25-DEVICE-RESIDENCY): the ltx2 span_slack bound has no load allowance, and the quantity swung 171x on one binary (#1576) - #1583
Merged
Conversation
… 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]
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.
Records #1576, a gate that a busy runner can flip, before it becomes an intermittent
nobody can attribute. One appended
.agents/issue-index.mdrow. No code.It is not currently red.
build-test-cpuis green onmainin run32464632413 at
483cd3198:100% tests passed, 0 tests failed out of 584, withtest_ltx2_videoPassed 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) repairedtest_ltx2_videoand introduced awall-clock containment bound in the same change:
kSpanSlackPerRecordis 250 µs per leaf record, raised to 3 ms under eithersanitizer. There is an explicit allowance for instrumentation and none for CPU
load.
Measured at
origin/main6b48edb2con a detached worktree, CPU-only, x86_64,BUILD_RC=0, the same binary in both samples:artifacts.framesslackctest -j 1-tc=A 171x swing in the asserted quantity on one tree and one binary. For scale
on the same commit,
test_ltx2_videoruns 201.56 s on the CI runner and took2863.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-RESIDENCYas owner; whether it also belongs underthat spec's
## Owedis 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-trailersok andcommit-styleok, both RUN againstorigin/main5d548d003.One gate fails and it is inherited:
test_cpu_x86_llamacpp_floor. Itstest_a_contended_leg_is_discarded_and_never_summarisedexpects exit 2(
GIVING_UP) and gets exit 4, whichscripts/cpu-x86-llamacpp-floor.sh:127emits as
NO_QUIET_WINDOW; the host was at load 86-118 throughout, so thequiet-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 onmainin therun linked above, and this branch touches no code at all.
An earlier revision of this row failed
check-agent-recordwithtable has 8 pipes; expected 5, because the doctest counts were quoted verbatimwith 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]