MEM-028: post_cascade_walk reads recs-1 after skip-without-append (sniff/POST.c)

Now
DONE

post_cascade_one returns OK without incrementing cc->n on its REFSNONE skip (POST.c:1308), but post_cascade_walk then unconditionally reads cc->recs[cc->n-1].new_tip (POST.c:1461) to drive recursion. When the skipped child is the first at its level, cc->n is still 0, so recs[-1] reads out of bounds across the preceding field into adjacent stack memory; the garbage sha becomes branch_new_tip for the descent. Reachable if a branch resolves OK at the pre-check (:1448) but REFSNONE inside post_cascade_one (:1307) a REFS mutation in that window. A leaf flock serializes writers, narrowing reachability, but the index itself is unguarded. The goal is to index recs only after a record was actually appended.

Issues

Index recs[cc->n-1] used after a path that didn't append.

Blockers

None.

Planned

Only read after an append.