.agents/skills/project-knowledge/references/fish.md
Verified on fish 4.1.2 in WSL (2026-07).
fish --no-config -c $script args &.jobs --last --pid prints a "Process" header plus one pid per pipeline stage - filter
with string match --regex '^\d+$' and treat the result as a list.kill -0 0 always succeeds (signals the caller's own process group) - guard zero pids
everywhere before liveness checks.fish_exit event handler (quit + kill the pipeline).--on-signal SIGUSR1 handlers fire between commands in non-interactive scripts (verified with a
200ms poll loop).script(1) discards/paste-buffers piped typeahead, so in-session probes never
execute - a harness limitation, not a bug (zsh under the same setup is fine). Assert via files
written by event handlers instead.$_omp_streaming_tempfile.transient),
not a variable, because _omp_cleanup_stream runs before the transient repaint.