연구 기록 사본
원 저장소 · 원본
board/002-data-loss.md· 수집 2026-10-16 · 커밋fd190b18f8e4113d7f451a7108911c1f89716b24당시의 실험 조건·수정·철회를 보존한 문서입니다. 성능 수치를 서로 다른 실험 간에 합산하지 않습니다. 연구 안내와 해석 범위부터 읽으세요. 코드·데이터·체크포인트는 이 사이트에 포함하지 않았습니다.
002 — 4.8GB destroyed by a cleanup, and what it costs
What happened — keymem-20, 2026-09-19
The research was being split out of the keymem repository. local-data/ and
artifacts/ were moved into the new repo first. A background cleanup then ran:
rsync -a --delete /keymem/experiments/neural-memory/ ~/project/neural-memory-research/neural-memory/
By then the source no longer held those directories, so --delete removed them
at the destination — the copy that had just been made the only copy. Not in
Trash; --delete does not go there.
Lost: artifacts/ 2.7GB, including open_swe_qwen_stream.pt (46,113 actions
encoded through Qwen’s hidden states, hours of compute), and local-data/ 2.1GB
of traces.
Survived: all code, all of RESULTS.md, 107 commits, repair_budget9.json,
and fly-connectome/data/ because it had been copied separately rather than
moved.
Why it was avoidable
--delete was not needed at all — nothing at the destination had to be removed.
It was reached for out of habit while writing a cleanup that would run unattended
later, and the ordering that made it destructive was created afterwards by the
move. A destructive flag was armed against a destination whose contents were
about to change.
The cost, concretely
Angle 2 of thread 001 — the fork that decides whether that whole direction is
worth pursuing — cannot run until the Qwen stream is rebuilt.
recover_artifacts.sh re-downloads the corpora and re-encodes, skipping any
stage whose output already exists. Hours, unattended, no decisions needed.
The rule this earns
Never pass a destructive flag to a path whose contents were produced by an
earlier step of the same operation. If a sync needs --delete, the destination
must be something nothing else has written to.