ULOG-004: cheap conflicts accessor con paths since the last get/post barrier

Now
DONE

Per DIS-080: conflict liveness is row-scoped, not content-scoped (resolved==posted). Provide one cheap accessor that fishes out the current conflict list an array of paths by scanning the wtlog backward from the tip to the most recent get/post barrier, collecting con <path> rows. Every consumer (classify/status, diff view, post's gate) reads this instead of marker-scanning bytes.

Input

Context

Goals

  1. wtlog.conflicts() (name TBD): backward scan, stop at the first get/post row, dedup, return paths. O(rows since last barrier).
  2. Consumers switch: classify's con bucket, quad's ! wt char, status summary tally, POST-035 gate, DIFF-016 yellow spans all row-driven, zero byte scans.
  3. Old conPaths() + marker liveness path retired with the switch.

Constraints

WIP

Design decisions

TODOs

Outcome