GET-049: get stamps NOTHING every file it writes must get the get row's ts as mtime

Now
OPEN
Sev
HIGH

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, so the stamp-set fast path (STATUS-011) confirms it clean with zero content reads. get is the outlier: NO io.setMtime site exists in the whole get path (put/patch/post all stamp, BE-011), so every fresh clone / checkout / update re-hashes wholesale on every status, forever. Sibling verify tickets: PATCH-013, POST-029.

Input

Context

Found while profiling status (STATUS-011 Blockers): checkout mtimes are natural write times, not stamps, so wtlogReader.has(mtime) misses every get-written file.

Goals

After any get (fresh clone, update, fast-forward), every file get WROTE has mtime == the get row ts; an immediate jab status does zero content reads on them (the STATUS-011 observable).

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome