Archived 15 entries (Recent decisions 14, Tried and abandoned 1) oldest-first to archival-memory.md; 5 held back on the open-deferred-work guard and 164 on the 14-day guard, so the index stays over the soft cap at 477 lines. An over-cap file that keeps live decisions beats a scannable one that lost a belayed item. Four new detail files cover the day: the ops log and its four self-inflicted failure modes, the Booth's two dead controls and the four-iteration layout probe, the Gitea org grant plus the dead claude-bot token that had been misreporting permissions, and the disk triage that rescued a LoRA adapter from a directory this box sweeps at three days. lv-mccarthy's run outcome remains unverified after two days and is the first line of the in-flight section and step 1 of the handoff.
42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
# `[2026-09-21]` nh3-dev disk triage: 27 GB reclaimed, and a LoRA adapter rescued from a directory the box sweeps every 3 days
|
||
|
||
Beszel alerted root >85%. Reclaimed **7 GB** from regenerable caches (`uv cache
|
||
prune`, npm, pip), then a deep dive found the real shape.
|
||
|
||
⚠⚠ **The headline was not disk.** `/tmp` held **19 GB** of Claude Code session
|
||
scratchpads, and inside one of them sat the **`babyyarros` LoRA adapter** —
|
||
252 MB, r=32/α=64 on Qwen3-4B-Instruct, with its loss series and provenance —
|
||
**existing nowhere else**: not on `/mnt/smithy`, not under `~/development`.
|
||
`/etc/tmpfiles.d/tmp.conf` sets `D /tmp … 3d`, an admin file from 2026-07-18
|
||
that **overrides** the stock no-age rule, and the cleaner runs daily.
|
||
|
||
**Rescued** to `/mnt/smithy/adapter-rescue/babyyarros-20260921`, verified by
|
||
content: sha256 `63fda6cc…` matching both the source and the `adapter.sha256`
|
||
recorded at training time.
|
||
|
||
⚠ **Two corrections I made to myself during the dive, both worth keeping:** I
|
||
alarmed that shutterchute's RAW deliverables were 19 hours from deletion — their
|
||
mtimes were *that day*, a live session working. And I suspected my own `du`/
|
||
`find` had reset the atime clock and manufactured the "0 would-remove" result;
|
||
it had not (`relatime`, and an untouched comparison file still showed an old
|
||
atime) — but it was right to check before trusting a number my own measurement
|
||
could have created.
|
||
|
||
**Operator-authorized deletions:** 7.6 GB duplicate Qwen base shards, 12 GB
|
||
`models-staging/retro-diffusion` (cold since 09 Aug), 7.5 GB `splat-assets`
|
||
(cold since 15 Aug), 178 session dirs idle 7d+. **39 GB → 66 GB free, 84% →
|
||
72%.**
|
||
|
||
⚠⚠ **MY PRUNE DELETED AN ACTIVE SESSION'S DIRECTORY.** `-mtime +7` on a session
|
||
dir is an unsound liveness test: **a directory's mtime does not change when
|
||
files are written into its subdirectories.** `dfacccde/` looked 7+ days idle
|
||
while `dfacccde/tasks/` was being written continuously. Cost: one lost tool
|
||
output; recreated. All four of my safety assertions (right root, right depth,
|
||
own session excluded, shutterchute excluded) passed — I checked the paths were
|
||
right and never checked the liveness test was sound. **Do not re-run that
|
||
predicate.** A correct version checks the deepest recent file, or
|
||
cross-references running `claude` PIDs.
|
||
|
||
Also found: `sudo -n` requires a password as **lkraven locally** on nh3-dev,
|
||
while `ssh infra-ops@localhost` has NOPASSWD.
|