Skip to content

walker_sim: #824's [ABORTED] honesty report is pinned by nothing — deleting it leaves the suite green #831

Description

@djhenry

Split out of the round-2 review of #824 (fix for #805). Non-blocking — the reviewer approved and I
merged over it — but the thing #824 added to keep an aborted corpus run honest is itself unguarded.

1. Deleting the [ABORTED …] block is invisible to the test suite

#824's central honesty affordance is the [ABORTED while opening {zone}] report at
tests/walker_sim.rs:913-916: it is tagged PARTIAL, says in its own words that it is not a corpus
score, and names the zone the run died on. That is the difference between an aborted run that
announces itself and one that falls silent.

The reviewer's R7 mutation deleted the println! entirely and the suite stayed green — 11
passed / 0 failed. Weaker edits (softening the PARTIAL wording, dropping the zone name, removing
the "this is not a corpus score" sentence) survive by entailment. The three should_panic strings
in the file pin only bucket names, not the report's framing.

So the block that exists to prevent a silent partial run can be silently removed. That is the same
shape as the bug #805 was about, one level up.

2. WaterRollup's complete Display form has no INCOMPLETE marker

The rollup's Display prints INCOMPLETE with its hole when it is dirty, which is what makes an
aborted run's output self-identifying. The complete form carries no counterpart marker, and the
gate prints both rollups when only one of them is dirty. A reader seeing an unmarked rollup
next to a marked one has to know that absence-of-marker means complete, rather than reading it
from the line itself.

This cannot arise in today's corpus — add/skip move in lockstep at :617, :623,
:633-634, :730 and :795-796, so the two rollups are dirty together or not at all. It is
filed as a latent shape, not an observed defect: the invariant that keeps it unreachable lives in
five separate call sites and nothing pins it.

What a fix looks like

For (1), an assertion that grades the report's content, not just that a panic occurred —
capture the aborted run's output and assert the PARTIAL tag, the "not a corpus score" disclaimer
and the zone name are all present. A source-text pin is the weak option here and this repo has now
measured seven ways one can prove a call is written rather than reached (#799); prefer an
execution-observable.

For (2), either give the complete form its own explicit marker so every rollup line states its own
completeness, or print only the rollup that is actually dirty.

Filed as a follow-up rather than blocking #824, per the review-cost policy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-honestyClient reports success or state that is false — a lie an agent cannot detect

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions