Skip to content

[finding] release-rehearsal-clone's C2 green line prints a varying wall-clock figure, so the b5 "green lines byte-identical to base" check can never pass unnormalised #15400

Description

@claude

Observed while doing the base-vs-branch green-line comparison ruling B asks for on #15317
(PR #15399).

scripts/pm/release-rehearsal-clone.mjs's C2 case prints a measured wall-clock figure into its
GREEN line:

  ✓ C2 a healthy tree is not slowed (102 ms < 10000)

That number moves run to run. Measured twice on the SAME commit, in the same worktree, minutes
apart: 102 ms then 95 ms.

Why it matters beyond cosmetics: the b5 hoisted-battery family of cards (#13799 and its batches)
uses "the green lines are byte-identical to the installed base" as the standard evidence that a
floor edit changed registration and nothing else. This one line makes that comparison fail for
this battery every time, for a reason that has nothing to do with the diff under review. The
comparison then has to be run modulo a normalising sed, and a reviewer has to be told which
delta was allowed to be there — an allowance that, once habitual, is exactly the kind of thing
that also lets a real delta through.

The assertion itself is sound and worth keeping: it pins that a healthy tree is not slowed, and
the threshold (10000) is the contract. It is the printing of the varying MEASURED value into the
green line that costs the byte comparison. Options, none obviously right, which is why this is a
finding and not a fix:

  • print the measurement only on failure (the threshold is the contract; a passing run's exact
    timing is not evidence anyone reads);
  • keep it but put it outside the line, so the case line is stable and the timing is still
    visible;
  • leave it and let the byte comparison stay normalised, documenting the allowance where the b5
    recipe is written down.

Not touched by PR #15399: that PR changes registration only, and the assertion's condition,
message and arguments were held byte-identical by its own contract.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions