Files
felhom.eu/documentation/audits/night-2026-10-23/P1-straycopy
..

Part 1 — the stray-copy fix, 9202 proof (night 2026-10-22 → 23)

Code: felhom-controller 66a69d4 (the fix) + 912e592 (--no-healthcheck). Image 0.340.0-rc.5 (= 66a69d4).

File What it shows
00-9202-as-found.txt 9202 on 0.339.0, no labelled container
01-switch-rc5.txt rc.5 start: „start-up: no leftover second-drive copy container"
02a-VOID-test-files-outside-a-leg.txt VOID run: the 16 GB test folder sat outside Immich's copied folders, so the copy ended in 2 s, before the probe — the probe was then (correctly) NOT refused and started a restore of the nonexistent app straycopyprobe, which failed at once („nincs másodlagos fájlmásolat"); nothing changed
02-restart-mid-copy.txt the copy container felhom-tier2-copy-immich-948f2280 running; the restore probe REFUSED („Éppen fut a második meghajtóra készülő mentési másolat…"); controller restarted; no labelled container 3 s later
02b-startup-after-restart.txt „start-up: removed a leftover second-drive copy container felhom-tier2-copy-immich-948f2280"
02c-old-controller-log-tail.txt the old controller's log from the trigger to its stop
03-redo.txt the copy redone: 16.5 GB, 54 s; source = copy (ls -l md5 and du -sb equal); no container left
04-timeout-case.txt test-only image (rc.5 + a binary from 912e592 with a 15 s copy limit, never pushed): the copy timed out, „its container … was removed (removed=true)", no container left, the partial copy (4.39 GB) stopped growing
05-teardown-9202.txt test files removed (source + copy), 9202 back on 0.339.0 healthy, test image removed (9202 and DooPlex)

Red-proofs (Docker-free seams, DooPlex): every TestStrayCopy_* test seen failing with its mechanism removed — no rm -f after an error (Timeout, Error), no name/label (NamedAndLabelled), the start-up loop not removing (StartUpRemoves), the stray flag ignored (Unremovable, FailedStartUp), no in-flight record (RefusedWhileACopyRuns), the web check removed (RestoreRefusedWhileACopyRuns), the main.go call removed (ClearIsWiredBeforeTheScheduler).

Re-proof after the second review and the security review — rc.8 (= felhom-controller 1babfe9)

File What
10-rc8-switch.txt rc.8 start: „no leftover"
11-rc8-two-runs-same-destination.txt two manual runs 4 s apart: the second waited for the first on each destination (both ended 2 s apart, 16.5 GB), no container removed, no failure (N4)
12-rc8-restart-mid-copy.txt the restore probe refused during the copy; the controller restarted mid-copy; at start „removed a leftover … felhom-tier2-copy-immich-948f2280"; no container left
13-rc8-redo.txt the redo: 16.5 GB, source = copy (ls -l md5 and du -sb)
14-rc8-teardown-9202.txt test files removed, 9202 on 0.339.0, healthy, no copy container