test(sampler): pin the parameter SET, not a bare count#6441
Merged
Conversation
`main` is red for any lane that builds examples. PulpSampler registers ten
parameters, and the contract test still asserts nine:
registered ids: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
declared ids: 1, 2, 3, 4, 5, 6, 7, 8, 9
The tenth is `kSamplerHeritageClockRatio`, added with the sampler heritage kit.
It is a real, wired parameter — declared in the header, read by
`pulp_sampler_render.cpp` through `state().get_value()`, exercised by the
heritage stream-domain tests, and fully specified (0.25–4.0, default 1.0). So
the parameter is right and the assertion was stale: the commit that added it
updated this file's resource-estimate assertion and missed the count.
Assert the ordered parameter set instead. A bare count fails as "10 != 9", which
says nothing about which parameter moved, and re-reading nine as ten would leave
the same trap for the eleventh. The set names the drift on the INFO lines above.
This was invisible on the way in: the required PR gate builds with
PULP_BUILD_EXAMPLES=OFF, so no PR or merge_group check compiles this file.
`nightly-full-build.yml` does build examples, so the lane that catches it runs
only after landing — and release-cli builds examples too, which is where a stale
example break would otherwise surface.
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.
mainis redAny lane that builds examples currently fails. PulpSampler registers ten parameters; the contract test still asserts nine.
The tenth is
kSamplerHeritageClockRatio, added with the sampler heritage kit (39c7dac, #6396).Which side is wrong: the test
The parameter is real and fully wired, so it is not the thing to remove:
pulp_sampler.hpp:46,kSamplerHeritageClockRatio = 10pulp_sampler_render.cpp:94,state().get_value(kSamplerHeritageClockRatio)test_pulp_sampler_heritage_stream_domain.cpp:505/525/541drive it at 2.0 and 4.0#6396 did edit this contract file — it updated the resource-estimate assertion and missed the count one. So this is a stale assertion, not a rogue parameter.
Why assert the set instead of bumping 9 → 10
A bare count fails as
10 != 9, which names nothing. Re-reading nine as ten would leave the identical trap for the eleventh parameter. Asserting the ordered set makes the failure self-describing — the two INFO lines above are the actual output of the negative control.Why nothing caught it
The required PR gate builds with
PULP_BUILD_EXAMPLES=OFF, so no PR or merge_group check compiles this file.nightly-full-build.ymldoes build examples ("Deliberately NO-DPULP_BUILD_EXAMPLES=OFF"), so the lane that catches it runs only after landing — andrelease-clibuilds examples too, which is where a stale example break surfaces if nobody is watching nightly.That gate hole is worth addressing separately. Adding examples to the PR gate is the wrong fix — they are the heavy targets, which is why they are off. The candidates are making the nightly failure reach someone, or building examples in
merge_group. The latter needs care: merge_group is serial atmax_entries_to_build: 1and itscheck_response_timeoutis already shorter than a legitimate validation.Verification
pulp-sampler-test, full binary, with this change: 4613 assertions in 186 test cases, all passedtools/scripts/gates.sh origin/main: greenFound by the VST3 hosted-editor session, which deliberately did not fix it to avoid smuggling a sampler change into a VST3 PR. They left open whether the test or the parameter was wrong; the wiring evidence above answers it.
🔎 Provenance
claudem3/Volumes/Workshop/Code/pulp-mq1dd2217d-ca26-4de4-b90e-6360ee343606Resume
Jump to this tab
Relaunch (any agent)
Restore URL — https://claude.ai/code/session_01363VPyLiV9Er9DJ1pcmC9c
stamped 2026-07-22 00:27 UTC