Files
codebase-memory-mcp/tests
Martin Vogel 9db5217bdb fix(vm): require the completion marker of the full leg only
The verdict guard added a few commits ago demanded `=== All tests passed ===`
from every run. Only the full leg prints it. `scripts/test.sh --suites` stops
after the suites it was named and says nothing more, because it has no end to
reach — so every `win.sh test <suites>` run came back red while passing:

    === test.sh: ITERATION mode — suites: artifact (incremental build) ===
    === artifact ===
      23 passed, 1 skipped
    GUARD: the log has a summary but no completion marker (runner rc=0)

That is the same defect as the one the guard exists to prevent, pointing the
other way. A guard against false greens is not allowed to invent false reds,
and this one broke the documented iteration workflow on its first real use.

vm_verdict now takes a mode. The full leg is unchanged: failures, then the
marker, then the note about a lost exit status. A named subset is judged on its
summaries and, since it has no marker to lean on, on its exit status — it is a
developer tool rather than a gate, so there it obeys rc instead of overriding
it.

The contract test grew four cases, and they are self-proving rather than
inert: the SAME markerless log must be green in iteration mode and red for the
full leg, so a build that ignored the mode would fail them. That gap is why the
original eight passed while the shipped path was broken — they only ever fed it
full-leg logs, which is the case I was thinking about rather than the case I
shipped.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-09-19 16:30:15 +02:00
..