DIS-021: wpush debug spew on by default; pack built on error; have-set unused

The wire-push path ships loud debug and wastes work. Every wpush: / wpush_dump: line is an unconditional fprintf(stderr,…) (keeper/WIRECLI.c:1072,1108,1139,1597,1650,1699…) — leftover instrumentation that prints all 265 objects on every push. The full pack is built BEFORE the refname/negotiation is validated, so a rejected push still pays the pack cost. have_peer=0 is printed while peer_tips=4 (a mislabel), and the have-set ("has 2349 objects") does not prune the commit walk — the full 265-object pack is sent even when the peer already has most of it. Goals: silent by default, no pack on error, incremental packs. See PackLog, Keeper.

Issues

Three independent defects in keeper/WIRECLI.c, all in the push path.

Blockers

None.

Planned

Gate the noise, reorder validation before the pack, and use the have-set.