[object Object]

← back to Designer Wallcoverings

harden local-recover: completeness guard so a dead driver can't premature-merge final or falsely signal DONE

f3581a9947cf45870a2fbf8221a17e539fa43cfc · 2026-07-01 14:33:46 -0700 · Steve Abrams

Files touched

Diff

commit f3581a9947cf45870a2fbf8221a17e539fa43cfc
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Jul 1 14:33:46 2026 -0700

    harden local-recover: completeness guard so a dead driver can't premature-merge final or falsely signal DONE
---
 onboarding/sangetsu-lilycolor/scripts/local-recover.sh | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/onboarding/sangetsu-lilycolor/scripts/local-recover.sh b/onboarding/sangetsu-lilycolor/scripts/local-recover.sh
index 0c667366..6d8027ec 100755
--- a/onboarding/sangetsu-lilycolor/scripts/local-recover.sh
+++ b/onboarding/sangetsu-lilycolor/scripts/local-recover.sh
@@ -22,7 +22,18 @@ ENRICH_SHARD_COUNT=1 \
 ENRICH_OLLAMA_URL=http://127.0.0.1:11434 \
 ENRICH_DONE_SEEDS="$GOOD" \
 python3 -u scripts/enrich-full.py "$REC" >> "$ST/enrich-localrec.log" 2>&1
-log "enrich pass done. recover rows=$(wc -l < "$REC" 2>/dev/null | tr -d ' ')"
+REC_ROWS=$(wc -l < "$REC" 2>/dev/null | tr -d ' '); REC_ROWS=${REC_ROWS:-0}
+log "enrich pass done. recover rows=$REC_ROWS"
+
+# COMPLETENESS GUARD: only remerge->final + touch DONE if the driver actually
+# processed (near) all of todo. A driver that dies early (e.g. OOM under swap
+# pressure) must NOT overwrite final with a truncated set or falsely signal DONE.
+EXPECT=$(( $(ls -1 "$LOCAL_IMG" | wc -l | tr -d ' ') - $(wc -l < "$GOOD" | tr -d ' ') ))
+MIN_OK=$(( EXPECT * 98 / 100 ))   # allow ~2% genuine unusable/skip
+if [ "$REC_ROWS" -lt "$MIN_OK" ]; then
+  log "INCOMPLETE: recover=$REC_ROWS < required=$MIN_OK (todo=$EXPECT). NOT remerging, NOT signaling DONE. Re-run to resume (load_done skips finished)."
+  exit 2
+fi
 
 # Remerge good + recover (last wins) -> final
 python3 - "$GOOD" "$REC" "$FINAL" <<'PY' 2>> "$ST/enrich-localrec.log"

← bc93546c supervise.sh: auto-relaunch wrapper for resumable local-LLM  ·  back to Designer Wallcoverings  ·  auto-save: 2026-07-01T14:36:50 (6 files) — DW-Programming/Im b7c30130 →