From eb4512aee3b8c94b63c1d3a1fe55de6481c2cd83 Mon Sep 17 00:00:00 2001 From: Gmer4Lfe Date: Sun, 9 Aug 2026 19:06:56 -0400 Subject: [PATCH] Report a child that exited 1 as a warning, not an error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit run_job.sh already grades runs as ok/warn/error by exit code, so a job that exited 1 recorded a warn while its log showed a red failure line — and the log is the louder of the two. --- common.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/common.sh b/common.sh index 8fb734b..a0179ba 100755 --- a/common.sh +++ b/common.sh @@ -2008,7 +2008,17 @@ run_orch_child() { return 0 else _ec=$? - error "$label — failed (exit $_ec, $(format_duration $(( $(date +%s) - _start ))))" + # Match the severity ladder run_job.sh already records against: exit 1 is a warning, + # exit 2+ is an error. The status in the run record was always derived that way, so a + # child exiting 1 produced a run marked "warn" whose log was full of ❌ ERROR lines — + # and the log is the louder of the two. A job that skipped work it was told to skip read + # exactly like a job that broke. + # + # The label still lands in JOB_FAIL either way. Whether the child succeeded is a separate + # question from how loudly to report it, and the orchestrator's own exit code depends on + # the first one. + local _msg="$label — failed (exit $_ec, $(format_duration $(( $(date +%s) - _start ))))" + if (( _ec == 1 )); then warn "$_msg"; else error "$_msg"; fi JOB_FAIL+=("$label") return 1 fi