The 5s engine probe misclassified healthy-but-slow engines (cold Supabase
pooler connections measured at 6.9-10.7s) as broken-config, so /sync-gbrain
silently skipped code+memory and told the user their config was malformed.
- New "timeout" status: probe killed at the deadline with no recognized
stderr pattern. Default deadline is now 15s, overridable via
GSTACK_GBRAIN_PROBE_TIMEOUT_MS (tests set 300ms against a fake that
sleeps 2s).
- Sync stages PROCEED on timeout with a stderr warning naming the env knob;
a genuinely-dead engine surfaces its real error at the first operation
instead of a false config diagnosis.
- Consistency everywhere "ok" gated behavior: gstack-gbrain-detect --is-ok
exits 0 on timeout, and gen-skill-docs' detection gate accepts it, so a
slow engine no longer silently suppresses brain-aware features.
- Status cache: key now includes the effective probe timeout (raising it
invalidates a cached timeout) and GBRAIN_HOME; config detection honors
GBRAIN_HOME so relocated-home users stop being misclassified as
missing-config.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>