ci: q-verify is green — record it, and the lesson that got there - #12
Merged
Conversation
First real run of q-verify passed end to end: J twins, q lessons, the aj golden, the eval reference solutions, AND both eval-run checks now execute on a GitHub runner. results.csv's correctness column and runs/traces.md are verified off the author's machine for the first time, which was the entire point of the file. Log read rather than trusting the tick, and specifically checked for leakage on a public repo: zero author identifiers, no kdb+ startup banner (it carries serial/email/host), `.z.K` printing `5f` alone, telemetry confirmed NO. "The job passed" and "the job was safe" are different questions. COMPOUND entry records the mistake that shaped this file, because it is the transferable part. The first revision demanded a KX_INSTALL_TOKEN secret inferred from a phrase in licensing-notes and never measured. I curled the URL, got 401, and read that as confirmation — but the 401 came from MY OWN mistyped URL missing the /install_kdb/~latest~/ segment. The real endpoint serves 200 unauthenticated, as do all payloads, and the installer's own download_file() uses a bare curl with no auth header. Three signals available before I wrote any YAML, all pointing the other way. A guess that produces a plausible error code is the most expensive kind, because the error looks like evidence. That 401 tested my typing, not my hypothesis, and I read it as though it had tested the hypothesis. Same failure shape as the p# retraction two days ago: seeking confirmation where confirmation is easy to manufacture. Rule going in: when a check appears to confirm what you already believed, verify the CHECK before the conclusion. Also recorded: reading the installer was worth more than the token fix. setup_telemetry() tests the licence (.z.l[4] for "tld") and can set KX_UPLOAD_TELEMETRY=YES before reaching the non-interactive branch that would default it to NO — so a decision the author made interactively would have been left to a licence flag on CI. A policy chosen interactively is not in force anywhere you automated. CLAUDE.md and README updated to say green rather than pending. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
q-verifypassed its first real run.make verify— J twins, q lessons, theajgolden, theeval reference solutions, and both eval-run checks — now executes on a GitHub runner. Article
3's published numbers are enforced off the author's laptop for the first time, which was the entire
point of the file.
Log read rather than trusting the tick, and checked for leakage since the repo is public: zero
author identifiers, no kdb+ startup banner (it carries serial/email/host),
.z.Kprinting5falone, telemetry confirmed
NO. "The job passed" and "the job was safe" are different questions.The lesson, which is the reason for the COMPOUND entry
The first revision demanded a
KX_INSTALL_TOKENsecret. That was inferred from a phrase inlicensing-notes.mdand never measured. I curled the URL, got 401, and read it as confirmation.The 401 came from my own mistyped URL, missing
/install_kdb/~latest~/. The real endpointserves 200 unauthenticated, as do all payloads, and the installer's own
download_file()uses abare
curlwith no auth header. Three signals were available before I wrote any YAML, all pointingthe other way.
A guess that produces a plausible error code is the most expensive kind, because the error looks
like evidence. That 401 tested my typing, not my hypothesis — and I read it as though it had
tested the hypothesis. Same shape as the
p#retraction two days ago: seeking confirmation whereconfirmation is easy to manufacture. Rule recorded: when a check appears to confirm what you
already believed, verify the check before the conclusion.
Reading the installer was worth more than the token fix
setup_telemetry()tests the licence (.z.l[4]for"tld") and can setKX_UPLOAD_TELEMETRY=YESbefore reaching the non-interactive branch that would default it to
NO. A decision madeinteractively — and recorded in
licensing-notes.md— would have been left to a licence flag on CI.Now forced and asserted.
A policy you chose interactively is not in force anywhere you automated.
🤖 Generated with Claude Code