diff --git a/scripts/cutover/start_go_stack.sh b/scripts/cutover/start_go_stack.sh index 551daf0..25092a0 100755 --- a/scripts/cutover/start_go_stack.sh +++ b/scripts/cutover/start_go_stack.sh @@ -15,6 +15,18 @@ # Used to bring up the persistent stack 2026-05-01 — the first time # the Go side has run as long-running daemons rather than per-harness # transient processes. +# +# KNOWN CONSTRAINT: the pre-push smoke chain (`just verify` → +# scripts/{d,g}*_smoke.sh) uses the SAME anchored `pkill -f +# "bin/(name)$"` pattern this script does, and ALSO matches our +# persistent daemons by name. Pushing while the persistent stack +# is up will kill 7 of 11 daemons (gateway, storaged, catalogd, +# ingestd, queryd, embedd, vectord; the smokes don't reach for +# pathwayd/observerd/matrixd/chatd). Workaround: re-run this +# script after every push. A proper fix is to give the persistent +# stack a different binary name (e.g. via build tags or a +# wrapper symlink) so smoke-side pkill doesn't see it; deferred +# until the trigger fires (i.e. when an operator gets bitten). set -euo pipefail