Repo hygiene + burn-fused READMEs — findings, 2026-10-01
Lane: text-only. No cargo, no code change, no rename of the vendor directory
(decided separately). Branch main, four commits, no push.
Question asked: “почему мусор типа playwright-mcp”. Answer: because a tracked
file is unaffected by .gitignore, and both of these directories were ignored in
spirit while being committed in fact.
1. Removed from git
Section titled “1. Removed from git”| what | files | bytes | still on disk? |
|---|---|---|---|
.playwright-mcp/ — browser-MCP session log (console-*.log, page-*.yml, 2026-09-26) |
5 | 44 KiB | no, tool scratch |
runs/*.log — training logs, 2026-09-06..09-21 |
9 | 2.0 MiB | yes, copied to ~/logs/committed-runs-archive/ first, byte-for-byte |
graphify-out/ — the graphify skill’s output |
5 tracked (+18 untracked) | 14.8 MB | yes, git rm --cached only |
vendor/dormouse-fused/crates/burn-gdn2/gd_logs.zip |
1 | 4 KiB | no |
a5076ab. Total 20 files, 403 303 lines, ~16.9 MB.
gd_logs.zip is not a zip file. Its entire content is a GitHub API 404 body
saved under a .zip name:
{"message":"Not Found","documentation_url":".../workflow-runs#download-workflow-run-logs","status":"404"}gh: Not Found (HTTP 404)unzip -l fails with “End-of-central-directory signature not found”. It arrived
in d1a76fe and has never decompressed. Found by the junk scan, not asked for.
/runs/ was already in .gitignore and the files were tracked anyway. Same
for *.bin vs the six burn-gdn2 oracle fixtures. Both are the same lesson and
it is now a comment in the root .gitignore next to the two new rules.
2. burn-fused README falsities fixed
Section titled “2. burn-fused README falsities fixed”vendor/dormouse-fused is 20 crates (was 28; eight deleted 2026-09-28, fate table
docs/architecture/library-crate-fate.md), MIT, and gated by
.github/workflows/fused-library.yml at the dormouse root. It has no
.github/ of its own in this copy — the fork’s own ci.yml was never
inherited here and the ten per-crate ones were deleted (4963c3a).
Top five, all in vendor/dormouse-fused/README.md (ead9f38), in the direction that
makes a reader trust something unchecked:
- “the committed CI baselines … re-checked on every PR, fails on >20%
regressions.” No job in
fused-library.ymlruns the bench harness, andbenches/is--excluded from the two jobs that could. Measured: no bench job exists in the file.bench/baselines.jsonhas 10 entries and one of them,msa_sparse.fused_ms, is for a crate deleted 2026-09-27. - “10 of these 20 are in dormouse’s build, the other 10 are reference ports
nobody links.” Measured off the
path =edges incrates/*/Cargo.toml: 13 in build, 7 not. It was 10/10 on 2026-09-28;burn-attnres(wired 2026-09-30) andburn-situ(2026-10-01) moved since. Not in build:burn-eggroll,burn-es,burn-parcae,burn-ptrn,burn-rope,burn-sct,burn-swiglu. - A checked roadmap item against
burn-msa’ssparse_kernel.rs— a file that does not exist. The whole roadmap went with it: an unchecked box in a README is a wish. - “100+ technologies in sight” over 20 crates, in the file whose job is to say what exists.
- The implied CI gate. The README now opens by saying this directory is a
vendored copy, the gate is the root workflow, there is deliberately no
cuda-testsjob, and the GPU check istools/gpu-gate.sh.
Added, because they were missing and true: the 20-crate table with each
manifest’s own description, cuda/autodiff/in-build columns; the
single-crate commands (cargo test -p burn-gdn2, tools/gpu-gate.sh,
tools/gen_facade.py --check, tools/test-feature-matrix.sh); the facade as a
generated artifact; and the verification-tier system — docs/protocols/ORACLE-TIERS.tsv,
tiers (a) authors’ code / (b) transcription / (c) transcription of a
transcription / (d) nothing external / (x) not a correctness test, currently
47 a, 22 b, 1 c, 27 d, 30 x over 127 comparisons, read by
tools/oracle_gate.py.
3. burn-fused/INTEGRATION.md — kept, checked, not moved
Section titled “3. burn-fused/INTEGRATION.md — kept, checked, not moved”The task offered delete-or-move-to-docs/. Neither: the file is load-bearing.
burn-fused/Cargo.toml:12 says readme = "INTEGRATION.md" with the comment
“crates.io renders exactly this file for anyone who adds the dependency” —
moving it to docs/ breaks cargo package. Checked it against the tree instead
(15b2bc0): 20 crates, the 0.22.0-pre.4 pin, 13 cuda / 8 autodiff,
burn-fused/tests/facade.rs resolving all 20, and both §6 “known-broken”
defects re-read at the source — the gdn2 double-permute is still at
module.rs:365/:368, and the kda read-only-prefill arm is still
q.matmul(s).permute([0,2,1,3]) ignoring k, v and both gates. It is current.
Four things in it were wrong, all fixed:
| the other 17 |in the §5 precision table. The table names 12 members, so the remainder is 8. It said 17 when the workspace had 28;burn-mor’s row was added on 2026-09-28 and the number was not.chunk_cube.rs:853→ 865 (theDType::F32check).burn-rmsnorm/src/fused.rs:95→ 223 (same check).burn-kda/src/lib.rs:708→ 1022 (the file grew by ~300 lines).burn-swiglu/src/fused.rs:56was checked and is correct.
4. Status headers on the four dated docs
Section titled “4. Status headers on the four dated docs”One header each, no content rewritten (15b2bc0). What each one has to be told
now:
CONTRIBUTING.md— process unchanged; the crate list and the gate are not.TEST-AUDIT.md— “The bit-exact harness” describes files that no longer exist:tests/ref_data.binandtools/gen_reference.rswere deleted. The fixture istests/ref_f64_broad.binand the generatortools/gen_reference_f64.py(f64 NumPy, no torch). Kept as history, labelled as history.bench/PYTORCH_COMPARISON.md— theSparse attn top-krow measuresburn-msa(deleted 2026-09-27, ADR-0014). Void. Labelled rather than deleted, because the same number is still inbench/baselines.jsonand a reader who finds it there deserves to learn here that the crate is gone.bench/RESEARCH_VERIFICATION.md— its Verified table has six rows for crates that no longer exist:burn-msa(09-27, ADR-0014) andburn-mtp,burn-fastblt,burn-antihall,burn-nope,burn-mod,burn-ttt(09-28). A table that verifies a crate with no source is the ADR-0020 shape.
5. Thirteen per-crate READMEs advertising a deleted gate
Section titled “5. Thirteen per-crate READMEs advertising a deleted gate”ce94cbf. All 13 carried
[],
a status light wired to a workflow TEST-AUDIT.md:16-18 records as deleted in
4963c3a. Replaced in the badge’s own slot with one line naming the gate that
runs and saying it has no GPU job.
Checked and found already correct in all 20 per-crate READMEs, so not
touched: no crate-count claim, no AGPL/Apache (MIT is right — workspace
Cargo.toml:36 and all 20 crate dirs carry a LICENSE), no reference to a deleted
crate or to the deleted fused/ module. The burn-sct “duplicated in
dormouse-core” and burn-situ “wired 2026-10-01” notes are current.
Note: there are 20 per-crate READMEs, not 21 — 20 crates, one README each.
6. Flagged, not touched
Section titled “6. Flagged, not touched”vendor/{cubecl-fix,cubek-fix}/*/Cargo.toml.orig, 5 files, 12 KB.patchbackups from the vendoring, tracked sinced1a76fe. Mechanically junk, but they are the only pre-patch copy of those manifests in the tree — the fork was committed already-patched, so git history has no “before”. The task’s rule is that ambiguous goes in the report, not therm, and whether we want to re-derive the upstream delta later is not a hygiene call. Owner’s call. Reproduce the check:git ls-files 'vendor/**/*.orig'.burn-fused/Cargo.toml:7— the facade’sdescriptionstill says “100+ technologies”, same claim as the README’s. A manifest, not a README, and it is published crates.io metadata; the README fix does not reach it.docs/architecture/library-crate-fate.mdis titled “The 28 crates” and says “Ten of its 28 crates are compiled into a training run”. Both were true at its snapshot422414c(2026-09-28) and the doc names the snapshot in line 3, so it is a dated record rather than a false statement — but the “ten” is now 13, and it is the document the new README points a reader at. Rootdocs/, not the vendor library.- The 6 tracked
*.binoracle fixtures (19 MB,burn-gdn2/tests/) are matched by*.binin the root.gitignoreand un-ignored invendor/dormouse-fused/.gitignore. Correct as it stands, and that file documents the trap (git check-ignore -vbefore trusting a green run) after a 1000-case fixture went missing for exactly this reason on 2026-09-29. No change; the root rule is what makes the footgun possible for anything added later. - The
crates.iobadges in ~13 per-crate READMEs render for crates that may never have been published (the library is consumed bypath =). Whether they resolve needs a network check, which is out of a text-only lane. bench/baselines.jsonstill holdsmsa_sparse.fused_msand covers 10 of 20 crates. Deleting a measurement is not the same as deleting the fact that it was taken, andbenches/src/main.rsmay still emit the key — that is a code question, so the two labels in §2/§4 point at it instead.
Reproduce
Section titled “Reproduce”git ls-files | grep -iE '\.log$|\.tmp$|\.bak$|\.rej$|\.orig$|desktop\.ini|\.DS_Store'cd vendor/dormouse-fused && grep -rn '\b28\b' --include=*.md . | grep -v targetcd vendor/dormouse-fused/crates && grep -rn 'actions/workflows/ci.yml' */README.mdpython3 - <<'PY'import re,glob,osused={m.group(1) for t in glob.glob('../../crates/*/Cargo.toml') for m in re.finditer(r'^\s*(burn-[\w-]+)\s*=\s*\{[^}]*path\s*=\s*"[^"]*burn-fused',open(t).read(),re.M)}print(len(used),"in build:",sorted(used))PYCommits
Section titled “Commits”| hash | what |
|---|---|
a5076ab |
untrack .playwright-mcp/, runs/*.log, graphify-out/, the corrupt gd_logs.zip; two .gitignore rules |
ead9f38 |
vendor/dormouse-fused/README.md rewritten to what the gate can back |
15b2bc0 |
status headers on INTEGRATION.md, CONTRIBUTING.md, TEST-AUDIT.md, both bench/ docs; 4 real fixes inside INTEGRATION.md |
ce94cbf |
13 dead per-crate CI badges replaced with the gate that runs |