← board

Track guessed as P from the FAILING STEP — line 1 of 2, ./compiler/pascal26 test/test_a_record_class_constructor_is_warned_about.pas /tmp/test_recclassctorwarn26 > /tmp/recclas, which names test/test_a_record_class_constructor_is_warned_about.pas. Not from the job's name or its src: those describe what the job is ABOUT, and this job's recipe spans 1 source file(s). The ranker reads frontmatter, so this line — not the body — decides who works it; correct it if the guess is wrong.

origin/master has advanced 4 commit(s) since this sha. Re-verify at current HEAD before acting — the callback is tagged to the sha that was tested, which may no longer be the state of the tree.

first-ever red: test-core#src:test/test_a_record_class_constructor_is_warned_about.pas at ad2735420d6b in step 1/2, ./compiler/pascal26 test/test_a_record_class_constructor_is_warned_about.pas /tmp/test_recclassctorwarn26 > /tmp/reccla… (auto-filed by twatch)

Repro

tools/testmgr.py --tier native --job 'test-core#src:test/test_a_record_class_constructor_is_warned_about.pas' at ad2735420d6b85ae25863b82ab3b591ca0282b31

Range

The named sha ad2735420d6b CANNOT be the cause — it touches no buildable file (docs / tickets / tstate only). It is the sha that was TESTED, i.e. the upper bound of an untested range; the cause is somewhere below it.

bad ad2735420d6b, and this is the job's first-ever run — there is no earlier passing sha, so no interval contains the cause and every commit a range could name is equally innocent. No idle bisect will happen; a red here is a finding about the job, not a regression from the commits around it.

Log tail


Stub ticket: signal only. Track T agent (face 2) enriches or a dev track takes it from the repro line.

Resolved 2026-09-06 (frankB) — the row, not the test

-./$(COMPILER) ... ignores a failure in make. Track T's harness reads the recipe and runs the lines itself, so the - — which is make's syntax, not the shell's — never reaches the runner. The row therefore exits 1 for the harness and 0 under make: it reds for everyone else and passes for its author.

Changed to ... || true, which is inside the shell command and visible to both readers. Verified the way the harness runs it, by executing the two lines with no make in front of them: both exit 0, and line 2's grep still fails if the warning is absent.

The auto-filer's own diagnosis was correct and worth not overriding. It said this was a first-ever run with no earlier passing sha, so no interval contains a cause and every commit a range could name is equally innocent — "a red here is a finding about the job, not a regression from the commits around it." That is exactly what it was. It also said the named sha touches no buildable file and cannot be the cause; also right.

Generalisable, and it is not about this row: a recipe line whose exit code means one thing to make and another to a line-by-line runner is a row that passes for its author and fails for everyone else. Anything conveyed by make's syntax rather than the shell's — -, @, a $(MAKE) recursion, a line continued into the next — is invisible to a harness that extracts lines. Where a row deliberately ignores an rc, ignore it in the shell.