PATCH-013: VERIFY patch stamps every affected file per the DIS-057 band fix any gap

Now
DONE

INVARIANT (gritzko, 2026-07-17): every file affected by get/patch and every file undirtied by post carries that wtlog record's ts as its mtime (patch: the DIS-057 band slot row ceil-2ms pat / ceil-1ms mrg / ceil cnf), so status confirms outcomes with no content reads. patch HAS a stamp site (be/verbs/patch/patch.js:417, BE-011) this ticket VERIFIES full coverage and exactness, and fixes what falls short. Siblings: GET-049 (get stamps nothing), POST-029.

Input

Context

The DIS-057 band is reconstructed by classify.patchStamps (be/shared/classify.js:176) via ulog.ronStepMs a stamp that is off by even the ms packing makes the band miss and the outcome silently degrades to mod (the DIS-057 REOPEN incident class).

Goals

A repro test that patches a wt with all four outcome classes and asserts on-disk mtimes == the reconstructed band, and that status buckets match with no content read for clean applies. Fix any file class the stamp loop misses.

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome

VERIFIED-OK stamp classes (all mtimes == exact band slot off the persisted row; unaffected files' mtimes byte-identical pre/post):

GAP FOUND+FIXED (read side, NOT a stamp gap): classify content-read every band-stamped in-base file (wtEqBase), breaking "zero content reads on clean applies" repro RED at exactly that assert, then shared/classify.js routes pb before the content ladder (ONE hunk, 11→14 lines: the if (pb && !eqBase) arm hoisted to if (pb) above the stamp-set/wtEqBase reads, !pb guard now implicit). Suite 273/273 (baseline 272/272), incl. patch/conflict, patch/exec-symlink, post/patch-pat, post/patch-absorb, unit patchband + statusfast. Uncommitted in work/PATCH-013 for review: shared/classify.js (mod), test/patch/stampband/{run.sh,assert.js} (new).

Behavior delta of the fix (deliberate, per the ruling): a band-stamped file whose bytes were hand-reverted to equal OURS previously read ok; the stamp now wins (pat). Reachable only via mtime forgery/collision the accepted-risk class statusfast B already documents for the stamp-set.