Skip to content

A cached matrix measures nothing and reports success - #161

Merged
tonytonycoder11 merged 2 commits into
mainfrom
fix/a-cached-matrix-measures-nothing
Sep 12, 2026
Merged

tonytonycoder11 merged 2 commits into
mainfrom
fix/a-cached-matrix-measures-nothing

Conversation

@tonytonycoder11

Copy link
Copy Markdown
Contributor

The version-matrix job has not run the matrix since the commit that first produced the table, and reported
success every time.

What was happening

Gradle restored :kdrant-transport-rest:jvmTest FROM-CACHE on every run after the one that first wrote
the report. The test never executed, wrote no table, uploaded no artifact, and the job was green throughout.
if-no-files-found: ignore is what kept the missing upload quiet.

The README's table is the evidence. It names Qdrant v1.19.0 and 39 contract cases; the pin is v1.19.1
and the contract has 46. Three releases stale, and nothing anywhere went red.

> Task :kdrant-transport-rest:jvmTest FROM-CACHE
...
No files were found with the provided path: kdrant-transport-rest/build/reports/qdrant-matrix.md.
No artifacts will be uploaded.

That is from the run on 2874572, which merged an hour ago.

What changes

--rerun on the task. This job's product is a measurement, not a verdict, and Gradle cannot tell the
difference: the inputs had not changed, so the cached result was a correct answer to the wrong question.

A missing table is an upload error. The two failures here are not the same and were being treated as
one. A cell that fails against an older server is exactly what this job exists to publish and must not fail
it — that is why the job is continue-on-error and why the test counts instead of throwing. A run that
produced no table measured nothing, which is a defect.

workflow_dispatch on the workflow. So the matrix can be re-measured without pushing a commit. Qdrant
releasing a minor is the usual reason to want that, and until now the only way to ask was to invent a push.

The table itself

This PR's own CI run produces it, and the real numbers go into the README in this branch before it merges.
The table is not hand-edited: the only reason it is touched here is that the job which writes it has not
been able to.

The version-matrix job has not run the matrix since the commit that first produced
the table. Gradle restored `:kdrant-transport-rest:jvmTest` FROM-CACHE on every run
after it, so the test never executed, wrote no report, uploaded no artifact, and the
job reported success the whole time. `if-no-files-found: ignore` swallowed the
missing upload.

The README's table is the evidence: it names Qdrant v1.19.0 and 39 contract cases
while the pin is v1.19.1 and the contract has 46. It is three releases stale and
nothing went red.

So the task runs with `--rerun`, because this job's product is a measurement rather
than a verdict and Gradle cannot tell the difference, and a missing table is now an
upload error. A cell that fails against an older server is what this job exists to
publish and still must not fail it; a run that measured nothing is a defect rather
than a result, and those two were being treated the same way.

Also `workflow_dispatch`, so the matrix can be re-measured without pushing a commit.
Qdrant releasing a minor is the usual reason to want that.
@tonytonycoder11
tonytonycoder11 requested a review from a team as a code owner September 12, 2026 12:20
@trueup-by-nacode-studios

trueup-by-nacode-studios Bot commented Sep 12, 2026

Copy link
Copy Markdown

This pull request adds no capability the code did not already have.

3 files read · 2157 ms · against 2874572 · engine 1.4.1

The table now comes from run 34693421161, which is the first time the matrix has
actually executed since the commit that produced the old one. It does not read
all-green, and that is the table finally doing its job:

  v1.19.1  46/46
  v1.18.3  42/46   the four 1.19 features
  v1.17.1  41/46   plus TurboQuant
  v1.16.3  40/46   plus relevance feedback

Each failing cell names a feature the server does not have, so the answer to "we are
on 1.17, can we use this" is now answerable from the README instead of being a
question. The prose says which version each missing feature needs, and the numbers
were checked against Qdrant's own release notes rather than inferred from the cells:
TurboQuant is 1.18.0, relevance feedback is 1.17.0.

That second one corrects the 2.3.0 section. Its headline listed relevance feedback as
part of Qdrant 1.19's surface and it is not: Qdrant has served it since 1.17.0, and
what Kdrant added was the DSL for it. The matrix caught that on its first real run,
which is a better argument for fixing the job than anything in the commit before
this one. The M57 entry now names the version it needs, and the GitHub Release body
is regenerated from the corrected section.
@tonytonycoder11 tonytonycoder11 moved this to In progress in Kdrant Sep 12, 2026
@tonytonycoder11
tonytonycoder11 merged commit 431702e into main Sep 12, 2026
14 checks passed
@tonytonycoder11
tonytonycoder11 deleted the fix/a-cached-matrix-measures-nothing branch September 12, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

1 participant