PATCH-025: conflict output is RGA live bytes, not fence markers

Now
DONE

Per the DIS-080 ruling: on a weave conflict, patch (and get's weave leaf) writes the RGA live reading of the merged weave both sides' insertions in weave order, no <<<</||||/>>>> fences. The file stays tokenizable, diffable and re-weavable across multiple patch runs. Conflict signalling moves entirely to the durable con <path> row (already appended, patch.js:467-471) and the non-zero PATCHCONFLICT exit (stays, patch.js:482).

Input

Context

Goals

  1. Weave render gains a markerless mode: live RGA bytes out, conflict spans reported to the caller (paths con rows; regions recomputed at render time, not stored).
  2. patch and get both use it; con row append and mtime band unchanged; PATCHCONFLICT non-zero exit on any conflict unchanged; get keeps its non-fatal warn.
  3. Conflict detection no longer reads bytes hasConflictMarker drops out of the merge path (post's gate goes row-based in POST-035).

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome