From 2bf82c5708d0b34230e4728dc063a9f6ffde8f69 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 24 Jul 2026 22:06:11 -0600 Subject: [PATCH] docs(phase-29): note the ILS-watcher anti-pattern (tail -f monitors stay armed after the result) --- phase-ends/CURRENT_PHASE.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index e048f2e3f..8c9920cd8 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -3299,3 +3299,12 @@ conditional) · main-EXE/B9 + GLM/B6 + resident's 14 walls (P30) · behemoths B7 length-shifted diff's *count* is meaningless.) Draft preserved: `.run/giants/s18_func_80176218_indexedglobal.c`. **Next reader session starts here: find the 2 missing instructions**, not the hoist — that question is closed. + +- **🔧 2026-07-24 (SESSION-18) — operational note for whoever launches the next ILS batch.** I watched + six ILS runs with `Monitor` + `tail -f … | grep`, which is the documented anti-pattern: `tail -f` + never exits, so each watcher stayed armed until its 1-hour timeout **long after its result had + arrived** — Drew saw 7 live monitors when only 1 job was actually running. `permuter_ils` also buffers + stdout, so nothing streams anyway; the whole run lands in one batch at exit. **Use a single + self-terminating waiter instead**, e.g. Bash `run_in_background` with + `until ! pgrep -f "permuter_ils.py " >/dev/null; do sleep 20; done; tail -3 ` — one + notification, exits on its own. Reserve `Monitor` for genuinely per-occurrence streams.