### OBSERVATION — remove_hdd_data:true, yet the HDD data dir is still there and the response
### reported neither removed nor preserved (hdd_paths_removed:null, hdd_paths_preserved:null).
total 88592
drwxrwx--- 4 www-data www-data     4096 Sep  1 19:07 .
drwxr-xr-x 5 root     root         4096 Sep  1 18:59 ..
-rw-rw-r-- 1 www-data www-data      542 Sep  1 19:06 .htaccess
-rw-rw-r-- 1 www-data www-data       52 Sep  1 19:06 .ncdata
drwxr-xr-x 3 www-data www-data     4096 Sep  1 18:59 admin
drwxr-xr-x 5 www-data www-data     4096 Sep  1 19:07 appdata_ocrus79ehwsx
-rw-rw-r-- 1 www-data www-data        0 Sep  1 19:06 index.html
-rw-r----- 1 www-data www-data 90692753 Sep  1 19:07 nextcloud.log
128M	/mnt/felhom-drives/hdd_1/appdata/nextcloud/
--- for contrast, the OTHER apps own theirs legitimately ---
128M	/mnt/felhom-drives/hdd_1/appdata/nextcloud/
40K	/mnt/felhom-drives/hdd_1/appdata/paperless/
12K	/mnt/felhom-drives/hdd_1/appdata/romm/
2026/09/01 19:14:56 manager.go:1311: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_ADMIN_USER, USERDATA_PATH, IMPORT_PATH] (14 app + 0 system)
2026/09/01 19:15:06 router.go:80: [DEBUG] [api] removeStack: name=nextcloud
2026/09/01 19:15:06 router.go:80: [DEBUG] [api] removeStack: name=nextcloud removeHDDData=true removeBackups=true
2026/09/01 19:15:06 delete.go:289: [DEBUG] [stacks] RemoveStack called: name="nextcloud", removeHDDData=true, backupPathsToRemove=1
2026/09/01 19:15:06 delete.go:303: [DEBUG] [stacks] RemoveStack nextcloud: state=stopped, deployed=true, orphaned=false, deploying=false
2026/09/01 19:15:06 delete.go:327: [INFO] Removing deployed stack: nextcloud (removeHDDData=true, backupPaths=1)
2026/09/01 19:15:06 delete.go:337: [DEBUG] [stacks] RemoveStack nextcloud: found 0 HDD mounts from compose file
2026/09/01 19:15:06 manager.go:1311: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_ADMIN_USER, SUBDOMAIN, USERDATA_PATH, IMPORT_PATH] (14 app + 0 system)
2026/09/01 19:15:07 delete.go:347: [DEBUG] [stacks] RemoveStack nextcloud: compose down output: 
2026/09/01 19:15:07 delete.go:402: [DEBUG] [stacks] RemoveStack nextcloud: processing 1 backup paths for removal (base=backups)
2026/09/01 19:15:07 delete.go:408: [WARN] Refusing to remove backup path outside expected directory: /mnt/felhom-drives/hdd_1/backups/primary/nextcloud/db-dumps
2026/09/01 19:15:07 delete.go:426: [DEBUG] [stacks] RemoveStack nextcloud: removing app.yaml at /opt/docker/stacks/nextcloud/app.yaml
2026/09/01 19:15:09 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/hdd_1", hasCPUCollector=true)
2026/09/01 19:15:09 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/hdd_1" bsize=4096 total=937.8GB used=5.6GB avail=884.5GB (0.6%)
2026/09/01 19:15:09 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/hdd_1" total=937.8 GB used=5.6 GB avail=884.5GB (0.6%)
2026/09/01 19:15:09 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/hdd_1", hasCPUCollector=true)
2026/09/01 19:15:09 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/hdd_1" bsize=4096 total=937.8GB used=5.6GB avail=884.5GB (0.6%)
2026/09/01 19:15:09 healthcheck.go:42: [DEBUG] [monitor] Raw values: disk=23.6%, hdd=0.6% (configured=true), mem=15.9% (4106MB/25898MB), cpu=4.1%, temp=52.9°C (hwmon1)
2026/09/01 19:15:09 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/hdd_1" total=937.8 GB used=5.6 GB avail=884.5GB (0.6%)
2026/09/01 19:15:29 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/hdd_1", hasCPUCollector=true)
### ROOT CAUSE of the leftover — positive + negative control
### POSITIVE control: the env override IS the only way HDDPath can be set, and it is:
0
(0 = the env override is ABSENT)
(no FELHOM_PATHS_* var at all)

### and controller.yaml paths: has no hdd_path key (read above).
### config.go:117 HDDPath has NO default — only envStr at :403. So cfg.Paths.HDDPath == "".
### ParseComposeHDDMounts (delete.go:600-603) returns nil on the FIRST line when hddPath == "".

### NEGATIVE control — this is not nextcloud-specific. The same 0-mounts line was logged
### for bentopdf earlier in this session, which genuinely has no HDD mount:
2026/09/01 17:55:29 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/bentopdf/docker-compose.yml
### ParseComposeHDDMounts (delete.go:600-603) returns nil on the FIRST line when hddPath == "".
