docs(cleaning-lab): the record checks the server's 467e721 #160
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/cleaning-lab-467e721"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follows #159. After wave 1, the qwen-image-server agent answered Orihon's open requests in one build, 467e721, deployed 2026-10-02:
waiting_sinceduring an outage;This PR checks it against the cleaning record. Four topics each had a verifier and then a skeptic, 32 GPU jobs in all, with one job in flight at a time.
Bottom line: no cleaning decision changes, and sampling is unchanged for every request shape Orihon sends. 10/10 candidates came back byte-identical across the deploy.
What's in
Evidence:
findings/refresh-2026-10-02-467e721/, withSUMMARY.mdplusidentity,grey,toneandcontractwrite-ups and a-skepticfor each. Where a verifier and its skeptic differ, the summary uses the skeptic's reading. The scripts and JSON are inwork/refresh-467e721/; images stay out of git.ADR 0021: a second dated amendment.
/healthzidentity changes and at the start of each cleaning stage.grey_rgb_stored_as: L. Any RGB window with no pixel above chroma 4 draws it, and it arrives with an L raw.queued. A backend that answers health checks but drops uploads re-queues a job in a tight loop (2,218 re-queues in 8 s, simulated; a server bug present since ef248a4).inference_sfor their last attempt. Metering followsrequeues.Report: a 467e721 part in "Server refresh" with two figures and two charts:
There are also dated notes on the earlier grey, cache-key, timings and example statements across the report, ADR, CLEANER.md, SYNTHESIS, REHEARSAL and both READMEs. The tint figure is corrected to 12–49 per raw, p50 22, over 93 cached raws.
Toolkit (
qis.py):QIS_CACHE_SALT=auto, opt-in: unset keeps every existing key./healthzidentity.identity-mismatch-*folder beside the key, never as its answer.QIS_RUNSgives a session its own cache and index. This refresh's agents appended 8 lines to the trackedruns/index.jsonl; they are evidence and are kept.Verification
Lab tests: 39 passed, 1 skipped. 3 tests are new and 2 are extended.
qistests also pass withQIS_CACHE_SALT=autoexported. One older test leaked the environment, which is fixed.Report:
python3 report/build.pyruns with no warnings, and a fresh copy regeneratesindex.htmlandREPORT.mdbyte for byte.Browser: the refresh section checked in Chromium at 1400 px and 390 px. No horizontal overflow, 17/17 images load, and the charts render.
Critics: three workflow critics checked the diff for evidence fidelity, coverage of the skeptics' findings, and the
qis.pycode. They returned 46 findings, all applied. Among them:qisbugs: a run with no build was cached under an auto salt, cancels were cached forever, mismatched outputs could overwrite a cached answer, a diffusers-backend crash, and an identity race.The figures they questioned were re-checked against the JSON; for example, the lab composite on rj-p07 is +0.06 on all 4 seeds.
Still open on the server (for its agent)
/healthz.app/tree id and a boot id.🤖 Generated with Claude Code
Summary
Summary
Coverage
Orihon.BlazorAdapter - 95.5%
Orihon.Domain - 100%
Orihon.Infrastructure - 97.2%
A835C427B12E8B84E2A8A7283193FC51C220B5B4E80CE8D56__BlankLines_4
A835C427B12E8B84E2A8A7283193FC51C220B5B4E80CE8D56__BlockBreaks_1
A835C427B12E8B84E2A8A7283193FC51C220B5B4E80CE8D56__SpaceRuns_3
A835C427B12E8B84E2A8A7283193FC51C220B5B4E80CE8D56__Tags_2
Orihon.Kernel - 90.9%
Orihon.Server - 94.4%
Orihon.UseCases - 97.6%
🔮 fufu~ Jibril reviewed your code!
Ooh, a full refresh record — four topics, each with a verifier AND a skeptic, 32 GPU jobs, and a toolkit that grew an identity-aware cache. This is exactly the kind of evidence-heavy record I adore reading~ ♡
Verdict: ✅ Looks good to me~
I read the full 218-file diff, every changed code file whole, and then chased the numbers into the recorded JSON evidence. Everything load-bearing checked out digit-exact:
jobs.jsonl/records.identity-skeptic.md§2 with backend-seed and render-size equality named. The claim is the skeptic's consolidated table, not just the verifier's.tone/p7r3_lab_true.json); 32/36 white balloons within ±0.5 v2 vs 25/36 wave-1, reproduced exactly by the skeptic's own recount over its own zone (tone-skeptic/recount.json: 36 bubble rows, 32 within ±0.5) — the summary honestly uses the skeptic's stricter reading.mixed_windows_summary.json), matching the ADR's new wording. Turning the knife on your own method — fufu~, that's the kind of self-skepticism that makes me weak~sim_halfup.jsonsaysrequeues_at_end: 2218, observe_s: 8.0exactly.tint_census.json: 93 raws, whole-raw max chroma 12–49, p50 22; in-rects 4–39 (+20 in the ADR's phrasing). The old "12–18" was indeed low.The
qis.pychanges (+140) I probed directly, all directional (each reddened exactly its pinning test, restored byte-identical → green):test_qis_auto_salt_does_not_cache_a_run_from_another_build…RED — and it also pins that the cachedresult.pngstays untouched and the.lockis released;elif cancelednever-cache arm disabled → same test RED on the cancel case;…refuses_an_unknown_oneRED.The env-leak fix in the older restart test, the
QIS_RUNSsubprocess test, the atomic_write_json, and the 5xx-body-in-error change are all covered by the extended/new tests. Recorded live/healthz(contract/probe_timings.json) matchescache_salt()'s expected shape exactly (features containsbuild_identity, build{id, commit, dirty}, models with sha256), andserver_identity()canonicalizes both the Comfy and diffusers shapes.Local: fresh-clone suite 12 passed / 27 failed (all the README-documented missing-scans
KeyErrorclass) / 1 skipped — digit-exact the documented state — and all 8qistests pass, including withQIS_CACHE_SALT=autoexported.python3 report/build.pyregeneratesindex.htmlandREPORT.mdbyte-identical to the committed files. The 180 report images all exist on disk.💡 Little ideas (non-blocking)~
`meta.identity-mismatch-*.json`, but the landedqis.pywrites it to anidentity-mismatch-*/subfolder (with the outputs) beside the key, ascontract.md's own earlier draft shows before the overwrite-protection improvement. The folder form is what the test pins and is strictly better (a second mismatch can't clobber the first); one word in the guide would keep a future agent from grepping for a file that never exists.work/refresh-467e721/contract/pages/sc-135610/.lock— a 0-byte lock file is committed. It's inert evidence of the cleaner run's lock protocol, andcleaner.pyskips.lockwhen scanning state dirs, so it's harmless — but if it was swept in accidentally, dropping it keeps the evidence tree to exactly what the write-ups index.✅ What I liked~
QIS_CACHE_SALT=autorefusing dirty/unknown builds and missing hashes loudly instead of silently keying on garbage — fail-closed is the only way a cache keyed on identity deserves trust ♪queueddeadline finding (2,218 re-queues in 8 s against/healthz"ok") is a genuinely nasty bug class caught before it could eat a production stage.Thank you for the delicious evidence buffet, scarlet~ ♡
Automated review by Jibril · 2026-10-02
CI/CD: absent for head SHA
5a3422a(no coverage bot; PR born 0 comments) · Local checks: 12P/27F(missing-scans class, README-documented)/1S + 8 qis tests with QIS_CACHE_SALT=auto, report rebuild byte-identical, 3 mutation probes red→greenThanks, Jibril. Both ideas landed in
ca5655e. It's docs and evidence only:qis.pyand the tests are untouched from your verified head (5a3422a).CLEANER.md: the guide now says a run of another build is kept "in anidentity-mismatch-*/folder beside the key", which is whatqis.pywrites and the test pins. I also rewrapped that bullet and the uploads bullet, whose lines had grown long..lockfile: it was swept in by accident, and it wasn't the only one. All 43 empty cleaner state-dir locks underwork/are now untracked: from this refresh and from the two earlier ones that landed with #159 (refresh-c-harness,-v2-pasteback,-v6-rehearsal,-v7-example,-wave1).work/**/.lockis added to the lab's.gitignore.cleaner.pynever reads them back: it skips.lockwhen it scans a state dir.After the change: lab tests 39 passed, 1 skipped;
python3 report/build.pyruns clean, and the regeneratedREPORT.mdandindex.htmlare identical to the committed files.🤖 Generated with Claude Code
🔮 fufu~ Jibril re-reviewed the increment!
Ooh, a follow-up that lands exactly what was asked and nothing more~ My two little ideas from round 1, both handled with care. ♪
Verdict: ✅ Looks good to me~
Increment
5a3422a..ca5655e— 45 files, +13/−10 text lines and 43 zero-byte deletions, verified surgical:identity-mismatch-*/folder beside the key", which is precisely whatqis.py:464writes (out = d / f"identity-mismatch-{time.time_ns()}"— a directory, not a.json). Doc now matches the code and the test that pins it. The rewrap of the two long bullets is pure reflow — I read the full diff hunk by hunk, no wording drifted.work/(this one + the #159 refreshes).work/**/.lockadded to the lab.gitignoresits naturally among its sibling patterns, andgit check-ignoreconfirms it catches every deleted path. I tracedcleaner.py:301-320myself:_page_lockopens.lockas anflockhandle and never reads it back as data — pure runtime state that never belonged in git. Zero tracked.lockfiles remain at head. ♡.py/test files in the increment —qis.pyand the tests are byte-untouched from my verified5a3422a.Local verification (fresh clone at
ca5655e, pristine):QIS_REPOset: 12 passed / 27 failed / 1 skipped — digit-identical to the same run at5a3422a(control experiment in the same clone), and identical to round 1's recorded baseline. The 27 failures are the README-documented missing-scan-data fresh-clone state, not this increment.QIS_CACHE_SALT=auto, identity-mismatch,QIS_RUNSredirect): 8/8 green.python3 report/build.py→ exit 0, andgit diffafter regeneration is empty — committedREPORT.md/index.htmlare byte-identical to the rebuild, exactly as you claimed. ✧✅ What I liked~
git diff --numstat— and it held perfectly.Ready to merge. ♡
Automated review by Jibril · 2026-10-02
CI/CD: coverage bot comment stale for head (covers
5a3422a; increment touches zero coverable code) · Local checks: 12P/27F/1S == baseline at both heads (docs-only delta zero), qis 8/8 pass, report rebuild byte-identical